{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "91ff33a6",
   "metadata": {},
   "outputs": [],
   "source": [
    "%load_ext Cython"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "0ce35cbd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Content of stdout:\n",
      "_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5.c\r\n",
      "C:\\Users\\THEMATRIXNEO\\.ipython\\cython\\_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5.c(1412): warning C4005: '__pyx_nonatomic_int_type'ÿ: red‚finition de macro\r\n",
      "C:\\Users\\THEMATRIXNEO\\.ipython\\cython\\_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5.c(1363): note: voir la d‚finition pr‚c‚dente de '__pyx_nonatomic_int_type'\r\n",
      "   Cr‚ation de la bibliothŠque C:\\Users\\THEMATRIXNEO\\.ipython\\cython\\Users\\THEMATRIXNEO\\.ipython\\cython\\_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5.cp310-win_amd64.lib et de l'objet C:\\Users\\THEMATRIXNEO\\.ipython\\cython\\Users\\THEMATRIXNEO\\.ipython\\cython\\_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5.cp310-win_amd64.exp\r\n",
      "G‚n‚ration de code en cours\r\n",
      "Fin de la g‚n‚ration du codebytearray(b'\\x02\\x02\\x02\\x03\\x03\\x03\\x03\\x03')\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<!DOCTYPE html>\n",
       "<!-- Generated by Cython 3.0.0b2 -->\n",
       "<html>\n",
       "<head>\n",
       "    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n",
       "    <title>Cython: _cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5.pyx</title>\n",
       "    <style type=\"text/css\">\n",
       "    \n",
       "body.cython { font-family: courier; font-size: 12; }\n",
       "\n",
       ".cython.tag  {  }\n",
       ".cython.line { color: #000000; margin: 0em }\n",
       ".cython.code { font-size: 9; color: #444444; display: none; margin: 0px 0px 0px 8px; border-left: 8px none; }\n",
       "\n",
       ".cython.line .run { background-color: #B0FFB0; }\n",
       ".cython.line .mis { background-color: #FFB0B0; }\n",
       ".cython.code.run  { border-left: 8px solid #B0FFB0; }\n",
       ".cython.code.mis  { border-left: 8px solid #FFB0B0; }\n",
       "\n",
       ".cython.code .py_c_api  { color: red; }\n",
       ".cython.code .py_macro_api  { color: #FF7000; }\n",
       ".cython.code .pyx_c_api  { color: #FF3000; }\n",
       ".cython.code .pyx_macro_api  { color: #FF7000; }\n",
       ".cython.code .refnanny  { color: #FFA000; }\n",
       ".cython.code .trace  { color: #FFA000; }\n",
       ".cython.code .error_goto  { color: #FFA000; }\n",
       "\n",
       ".cython.code .coerce  { color: #008000; border: 1px dotted #008000 }\n",
       ".cython.code .py_attr { color: #FF0000; font-weight: bold; }\n",
       ".cython.code .c_attr  { color: #0000FF; }\n",
       ".cython.code .py_call { color: #FF0000; font-weight: bold; }\n",
       ".cython.code .c_call  { color: #0000FF; }\n",
       "\n",
       ".cython.score-0 {background-color: #FFFFff;}\n",
       ".cython.score-1 {background-color: #FFFFe7;}\n",
       ".cython.score-2 {background-color: #FFFFd4;}\n",
       ".cython.score-3 {background-color: #FFFFc4;}\n",
       ".cython.score-4 {background-color: #FFFFb6;}\n",
       ".cython.score-5 {background-color: #FFFFaa;}\n",
       ".cython.score-6 {background-color: #FFFF9f;}\n",
       ".cython.score-7 {background-color: #FFFF96;}\n",
       ".cython.score-8 {background-color: #FFFF8d;}\n",
       ".cython.score-9 {background-color: #FFFF86;}\n",
       ".cython.score-10 {background-color: #FFFF7f;}\n",
       ".cython.score-11 {background-color: #FFFF79;}\n",
       ".cython.score-12 {background-color: #FFFF73;}\n",
       ".cython.score-13 {background-color: #FFFF6e;}\n",
       ".cython.score-14 {background-color: #FFFF6a;}\n",
       ".cython.score-15 {background-color: #FFFF66;}\n",
       ".cython.score-16 {background-color: #FFFF62;}\n",
       ".cython.score-17 {background-color: #FFFF5e;}\n",
       ".cython.score-18 {background-color: #FFFF5b;}\n",
       ".cython.score-19 {background-color: #FFFF57;}\n",
       ".cython.score-20 {background-color: #FFFF55;}\n",
       ".cython.score-21 {background-color: #FFFF52;}\n",
       ".cython.score-22 {background-color: #FFFF4f;}\n",
       ".cython.score-23 {background-color: #FFFF4d;}\n",
       ".cython.score-24 {background-color: #FFFF4b;}\n",
       ".cython.score-25 {background-color: #FFFF48;}\n",
       ".cython.score-26 {background-color: #FFFF46;}\n",
       ".cython.score-27 {background-color: #FFFF44;}\n",
       ".cython.score-28 {background-color: #FFFF43;}\n",
       ".cython.score-29 {background-color: #FFFF41;}\n",
       ".cython.score-30 {background-color: #FFFF3f;}\n",
       ".cython.score-31 {background-color: #FFFF3e;}\n",
       ".cython.score-32 {background-color: #FFFF3c;}\n",
       ".cython.score-33 {background-color: #FFFF3b;}\n",
       ".cython.score-34 {background-color: #FFFF39;}\n",
       ".cython.score-35 {background-color: #FFFF38;}\n",
       ".cython.score-36 {background-color: #FFFF37;}\n",
       ".cython.score-37 {background-color: #FFFF36;}\n",
       ".cython.score-38 {background-color: #FFFF35;}\n",
       ".cython.score-39 {background-color: #FFFF34;}\n",
       ".cython.score-40 {background-color: #FFFF33;}\n",
       ".cython.score-41 {background-color: #FFFF32;}\n",
       ".cython.score-42 {background-color: #FFFF31;}\n",
       ".cython.score-43 {background-color: #FFFF30;}\n",
       ".cython.score-44 {background-color: #FFFF2f;}\n",
       ".cython.score-45 {background-color: #FFFF2e;}\n",
       ".cython.score-46 {background-color: #FFFF2d;}\n",
       ".cython.score-47 {background-color: #FFFF2c;}\n",
       ".cython.score-48 {background-color: #FFFF2b;}\n",
       ".cython.score-49 {background-color: #FFFF2b;}\n",
       ".cython.score-50 {background-color: #FFFF2a;}\n",
       ".cython.score-51 {background-color: #FFFF29;}\n",
       ".cython.score-52 {background-color: #FFFF29;}\n",
       ".cython.score-53 {background-color: #FFFF28;}\n",
       ".cython.score-54 {background-color: #FFFF27;}\n",
       ".cython.score-55 {background-color: #FFFF27;}\n",
       ".cython.score-56 {background-color: #FFFF26;}\n",
       ".cython.score-57 {background-color: #FFFF26;}\n",
       ".cython.score-58 {background-color: #FFFF25;}\n",
       ".cython.score-59 {background-color: #FFFF24;}\n",
       ".cython.score-60 {background-color: #FFFF24;}\n",
       ".cython.score-61 {background-color: #FFFF23;}\n",
       ".cython.score-62 {background-color: #FFFF23;}\n",
       ".cython.score-63 {background-color: #FFFF22;}\n",
       ".cython.score-64 {background-color: #FFFF22;}\n",
       ".cython.score-65 {background-color: #FFFF22;}\n",
       ".cython.score-66 {background-color: #FFFF21;}\n",
       ".cython.score-67 {background-color: #FFFF21;}\n",
       ".cython.score-68 {background-color: #FFFF20;}\n",
       ".cython.score-69 {background-color: #FFFF20;}\n",
       ".cython.score-70 {background-color: #FFFF1f;}\n",
       ".cython.score-71 {background-color: #FFFF1f;}\n",
       ".cython.score-72 {background-color: #FFFF1f;}\n",
       ".cython.score-73 {background-color: #FFFF1e;}\n",
       ".cython.score-74 {background-color: #FFFF1e;}\n",
       ".cython.score-75 {background-color: #FFFF1e;}\n",
       ".cython.score-76 {background-color: #FFFF1d;}\n",
       ".cython.score-77 {background-color: #FFFF1d;}\n",
       ".cython.score-78 {background-color: #FFFF1c;}\n",
       ".cython.score-79 {background-color: #FFFF1c;}\n",
       ".cython.score-80 {background-color: #FFFF1c;}\n",
       ".cython.score-81 {background-color: #FFFF1c;}\n",
       ".cython.score-82 {background-color: #FFFF1b;}\n",
       ".cython.score-83 {background-color: #FFFF1b;}\n",
       ".cython.score-84 {background-color: #FFFF1b;}\n",
       ".cython.score-85 {background-color: #FFFF1a;}\n",
       ".cython.score-86 {background-color: #FFFF1a;}\n",
       ".cython.score-87 {background-color: #FFFF1a;}\n",
       ".cython.score-88 {background-color: #FFFF1a;}\n",
       ".cython.score-89 {background-color: #FFFF19;}\n",
       ".cython.score-90 {background-color: #FFFF19;}\n",
       ".cython.score-91 {background-color: #FFFF19;}\n",
       ".cython.score-92 {background-color: #FFFF19;}\n",
       ".cython.score-93 {background-color: #FFFF18;}\n",
       ".cython.score-94 {background-color: #FFFF18;}\n",
       ".cython.score-95 {background-color: #FFFF18;}\n",
       ".cython.score-96 {background-color: #FFFF18;}\n",
       ".cython.score-97 {background-color: #FFFF17;}\n",
       ".cython.score-98 {background-color: #FFFF17;}\n",
       ".cython.score-99 {background-color: #FFFF17;}\n",
       ".cython.score-100 {background-color: #FFFF17;}\n",
       ".cython.score-101 {background-color: #FFFF16;}\n",
       ".cython.score-102 {background-color: #FFFF16;}\n",
       ".cython.score-103 {background-color: #FFFF16;}\n",
       ".cython.score-104 {background-color: #FFFF16;}\n",
       ".cython.score-105 {background-color: #FFFF16;}\n",
       ".cython.score-106 {background-color: #FFFF15;}\n",
       ".cython.score-107 {background-color: #FFFF15;}\n",
       ".cython.score-108 {background-color: #FFFF15;}\n",
       ".cython.score-109 {background-color: #FFFF15;}\n",
       ".cython.score-110 {background-color: #FFFF15;}\n",
       ".cython.score-111 {background-color: #FFFF15;}\n",
       ".cython.score-112 {background-color: #FFFF14;}\n",
       ".cython.score-113 {background-color: #FFFF14;}\n",
       ".cython.score-114 {background-color: #FFFF14;}\n",
       ".cython.score-115 {background-color: #FFFF14;}\n",
       ".cython.score-116 {background-color: #FFFF14;}\n",
       ".cython.score-117 {background-color: #FFFF14;}\n",
       ".cython.score-118 {background-color: #FFFF13;}\n",
       ".cython.score-119 {background-color: #FFFF13;}\n",
       ".cython.score-120 {background-color: #FFFF13;}\n",
       ".cython.score-121 {background-color: #FFFF13;}\n",
       ".cython.score-122 {background-color: #FFFF13;}\n",
       ".cython.score-123 {background-color: #FFFF13;}\n",
       ".cython.score-124 {background-color: #FFFF13;}\n",
       ".cython.score-125 {background-color: #FFFF12;}\n",
       ".cython.score-126 {background-color: #FFFF12;}\n",
       ".cython.score-127 {background-color: #FFFF12;}\n",
       ".cython.score-128 {background-color: #FFFF12;}\n",
       ".cython.score-129 {background-color: #FFFF12;}\n",
       ".cython.score-130 {background-color: #FFFF12;}\n",
       ".cython.score-131 {background-color: #FFFF12;}\n",
       ".cython.score-132 {background-color: #FFFF11;}\n",
       ".cython.score-133 {background-color: #FFFF11;}\n",
       ".cython.score-134 {background-color: #FFFF11;}\n",
       ".cython.score-135 {background-color: #FFFF11;}\n",
       ".cython.score-136 {background-color: #FFFF11;}\n",
       ".cython.score-137 {background-color: #FFFF11;}\n",
       ".cython.score-138 {background-color: #FFFF11;}\n",
       ".cython.score-139 {background-color: #FFFF11;}\n",
       ".cython.score-140 {background-color: #FFFF11;}\n",
       ".cython.score-141 {background-color: #FFFF10;}\n",
       ".cython.score-142 {background-color: #FFFF10;}\n",
       ".cython.score-143 {background-color: #FFFF10;}\n",
       ".cython.score-144 {background-color: #FFFF10;}\n",
       ".cython.score-145 {background-color: #FFFF10;}\n",
       ".cython.score-146 {background-color: #FFFF10;}\n",
       ".cython.score-147 {background-color: #FFFF10;}\n",
       ".cython.score-148 {background-color: #FFFF10;}\n",
       ".cython.score-149 {background-color: #FFFF10;}\n",
       ".cython.score-150 {background-color: #FFFF0f;}\n",
       ".cython.score-151 {background-color: #FFFF0f;}\n",
       ".cython.score-152 {background-color: #FFFF0f;}\n",
       ".cython.score-153 {background-color: #FFFF0f;}\n",
       ".cython.score-154 {background-color: #FFFF0f;}\n",
       ".cython.score-155 {background-color: #FFFF0f;}\n",
       ".cython.score-156 {background-color: #FFFF0f;}\n",
       ".cython.score-157 {background-color: #FFFF0f;}\n",
       ".cython.score-158 {background-color: #FFFF0f;}\n",
       ".cython.score-159 {background-color: #FFFF0f;}\n",
       ".cython.score-160 {background-color: #FFFF0f;}\n",
       ".cython.score-161 {background-color: #FFFF0e;}\n",
       ".cython.score-162 {background-color: #FFFF0e;}\n",
       ".cython.score-163 {background-color: #FFFF0e;}\n",
       ".cython.score-164 {background-color: #FFFF0e;}\n",
       ".cython.score-165 {background-color: #FFFF0e;}\n",
       ".cython.score-166 {background-color: #FFFF0e;}\n",
       ".cython.score-167 {background-color: #FFFF0e;}\n",
       ".cython.score-168 {background-color: #FFFF0e;}\n",
       ".cython.score-169 {background-color: #FFFF0e;}\n",
       ".cython.score-170 {background-color: #FFFF0e;}\n",
       ".cython.score-171 {background-color: #FFFF0e;}\n",
       ".cython.score-172 {background-color: #FFFF0e;}\n",
       ".cython.score-173 {background-color: #FFFF0d;}\n",
       ".cython.score-174 {background-color: #FFFF0d;}\n",
       ".cython.score-175 {background-color: #FFFF0d;}\n",
       ".cython.score-176 {background-color: #FFFF0d;}\n",
       ".cython.score-177 {background-color: #FFFF0d;}\n",
       ".cython.score-178 {background-color: #FFFF0d;}\n",
       ".cython.score-179 {background-color: #FFFF0d;}\n",
       ".cython.score-180 {background-color: #FFFF0d;}\n",
       ".cython.score-181 {background-color: #FFFF0d;}\n",
       ".cython.score-182 {background-color: #FFFF0d;}\n",
       ".cython.score-183 {background-color: #FFFF0d;}\n",
       ".cython.score-184 {background-color: #FFFF0d;}\n",
       ".cython.score-185 {background-color: #FFFF0d;}\n",
       ".cython.score-186 {background-color: #FFFF0d;}\n",
       ".cython.score-187 {background-color: #FFFF0c;}\n",
       ".cython.score-188 {background-color: #FFFF0c;}\n",
       ".cython.score-189 {background-color: #FFFF0c;}\n",
       ".cython.score-190 {background-color: #FFFF0c;}\n",
       ".cython.score-191 {background-color: #FFFF0c;}\n",
       ".cython.score-192 {background-color: #FFFF0c;}\n",
       ".cython.score-193 {background-color: #FFFF0c;}\n",
       ".cython.score-194 {background-color: #FFFF0c;}\n",
       ".cython.score-195 {background-color: #FFFF0c;}\n",
       ".cython.score-196 {background-color: #FFFF0c;}\n",
       ".cython.score-197 {background-color: #FFFF0c;}\n",
       ".cython.score-198 {background-color: #FFFF0c;}\n",
       ".cython.score-199 {background-color: #FFFF0c;}\n",
       ".cython.score-200 {background-color: #FFFF0c;}\n",
       ".cython.score-201 {background-color: #FFFF0c;}\n",
       ".cython.score-202 {background-color: #FFFF0c;}\n",
       ".cython.score-203 {background-color: #FFFF0b;}\n",
       ".cython.score-204 {background-color: #FFFF0b;}\n",
       ".cython.score-205 {background-color: #FFFF0b;}\n",
       ".cython.score-206 {background-color: #FFFF0b;}\n",
       ".cython.score-207 {background-color: #FFFF0b;}\n",
       ".cython.score-208 {background-color: #FFFF0b;}\n",
       ".cython.score-209 {background-color: #FFFF0b;}\n",
       ".cython.score-210 {background-color: #FFFF0b;}\n",
       ".cython.score-211 {background-color: #FFFF0b;}\n",
       ".cython.score-212 {background-color: #FFFF0b;}\n",
       ".cython.score-213 {background-color: #FFFF0b;}\n",
       ".cython.score-214 {background-color: #FFFF0b;}\n",
       ".cython.score-215 {background-color: #FFFF0b;}\n",
       ".cython.score-216 {background-color: #FFFF0b;}\n",
       ".cython.score-217 {background-color: #FFFF0b;}\n",
       ".cython.score-218 {background-color: #FFFF0b;}\n",
       ".cython.score-219 {background-color: #FFFF0b;}\n",
       ".cython.score-220 {background-color: #FFFF0b;}\n",
       ".cython.score-221 {background-color: #FFFF0b;}\n",
       ".cython.score-222 {background-color: #FFFF0a;}\n",
       ".cython.score-223 {background-color: #FFFF0a;}\n",
       ".cython.score-224 {background-color: #FFFF0a;}\n",
       ".cython.score-225 {background-color: #FFFF0a;}\n",
       ".cython.score-226 {background-color: #FFFF0a;}\n",
       ".cython.score-227 {background-color: #FFFF0a;}\n",
       ".cython.score-228 {background-color: #FFFF0a;}\n",
       ".cython.score-229 {background-color: #FFFF0a;}\n",
       ".cython.score-230 {background-color: #FFFF0a;}\n",
       ".cython.score-231 {background-color: #FFFF0a;}\n",
       ".cython.score-232 {background-color: #FFFF0a;}\n",
       ".cython.score-233 {background-color: #FFFF0a;}\n",
       ".cython.score-234 {background-color: #FFFF0a;}\n",
       ".cython.score-235 {background-color: #FFFF0a;}\n",
       ".cython.score-236 {background-color: #FFFF0a;}\n",
       ".cython.score-237 {background-color: #FFFF0a;}\n",
       ".cython.score-238 {background-color: #FFFF0a;}\n",
       ".cython.score-239 {background-color: #FFFF0a;}\n",
       ".cython.score-240 {background-color: #FFFF0a;}\n",
       ".cython.score-241 {background-color: #FFFF0a;}\n",
       ".cython.score-242 {background-color: #FFFF0a;}\n",
       ".cython.score-243 {background-color: #FFFF0a;}\n",
       ".cython.score-244 {background-color: #FFFF0a;}\n",
       ".cython.score-245 {background-color: #FFFF0a;}\n",
       ".cython.score-246 {background-color: #FFFF09;}\n",
       ".cython.score-247 {background-color: #FFFF09;}\n",
       ".cython.score-248 {background-color: #FFFF09;}\n",
       ".cython.score-249 {background-color: #FFFF09;}\n",
       ".cython.score-250 {background-color: #FFFF09;}\n",
       ".cython.score-251 {background-color: #FFFF09;}\n",
       ".cython.score-252 {background-color: #FFFF09;}\n",
       ".cython.score-253 {background-color: #FFFF09;}\n",
       ".cython.score-254 {background-color: #FFFF09;}\n",
       "pre { line-height: 125%; }\n",
       "td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n",
       "span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n",
       "td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n",
       "span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n",
       ".cython .hll { background-color: #ffffcc }\n",
       ".cython { background: #f8f8f8; }\n",
       ".cython .c { color: #3D7B7B; font-style: italic } /* Comment */\n",
       ".cython .err { border: 1px solid #FF0000 } /* Error */\n",
       ".cython .k { color: #008000; font-weight: bold } /* Keyword */\n",
       ".cython .o { color: #666666 } /* Operator */\n",
       ".cython .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */\n",
       ".cython .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */\n",
       ".cython .cp { color: #9C6500 } /* Comment.Preproc */\n",
       ".cython .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */\n",
       ".cython .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */\n",
       ".cython .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */\n",
       ".cython .gd { color: #A00000 } /* Generic.Deleted */\n",
       ".cython .ge { font-style: italic } /* Generic.Emph */\n",
       ".cython .gr { color: #E40000 } /* Generic.Error */\n",
       ".cython .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n",
       ".cython .gi { color: #008400 } /* Generic.Inserted */\n",
       ".cython .go { color: #717171 } /* Generic.Output */\n",
       ".cython .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n",
       ".cython .gs { font-weight: bold } /* Generic.Strong */\n",
       ".cython .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n",
       ".cython .gt { color: #0044DD } /* Generic.Traceback */\n",
       ".cython .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n",
       ".cython .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n",
       ".cython .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n",
       ".cython .kp { color: #008000 } /* Keyword.Pseudo */\n",
       ".cython .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n",
       ".cython .kt { color: #B00040 } /* Keyword.Type */\n",
       ".cython .m { color: #666666 } /* Literal.Number */\n",
       ".cython .s { color: #BA2121 } /* Literal.String */\n",
       ".cython .na { color: #687822 } /* Name.Attribute */\n",
       ".cython .nb { color: #008000 } /* Name.Builtin */\n",
       ".cython .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n",
       ".cython .no { color: #880000 } /* Name.Constant */\n",
       ".cython .nd { color: #AA22FF } /* Name.Decorator */\n",
       ".cython .ni { color: #717171; font-weight: bold } /* Name.Entity */\n",
       ".cython .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */\n",
       ".cython .nf { color: #0000FF } /* Name.Function */\n",
       ".cython .nl { color: #767600 } /* Name.Label */\n",
       ".cython .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n",
       ".cython .nt { color: #008000; font-weight: bold } /* Name.Tag */\n",
       ".cython .nv { color: #19177C } /* Name.Variable */\n",
       ".cython .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n",
       ".cython .w { color: #bbbbbb } /* Text.Whitespace */\n",
       ".cython .mb { color: #666666 } /* Literal.Number.Bin */\n",
       ".cython .mf { color: #666666 } /* Literal.Number.Float */\n",
       ".cython .mh { color: #666666 } /* Literal.Number.Hex */\n",
       ".cython .mi { color: #666666 } /* Literal.Number.Integer */\n",
       ".cython .mo { color: #666666 } /* Literal.Number.Oct */\n",
       ".cython .sa { color: #BA2121 } /* Literal.String.Affix */\n",
       ".cython .sb { color: #BA2121 } /* Literal.String.Backtick */\n",
       ".cython .sc { color: #BA2121 } /* Literal.String.Char */\n",
       ".cython .dl { color: #BA2121 } /* Literal.String.Delimiter */\n",
       ".cython .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n",
       ".cython .s2 { color: #BA2121 } /* Literal.String.Double */\n",
       ".cython .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */\n",
       ".cython .sh { color: #BA2121 } /* Literal.String.Heredoc */\n",
       ".cython .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */\n",
       ".cython .sx { color: #008000 } /* Literal.String.Other */\n",
       ".cython .sr { color: #A45A77 } /* Literal.String.Regex */\n",
       ".cython .s1 { color: #BA2121 } /* Literal.String.Single */\n",
       ".cython .ss { color: #19177C } /* Literal.String.Symbol */\n",
       ".cython .bp { color: #008000 } /* Name.Builtin.Pseudo */\n",
       ".cython .fm { color: #0000FF } /* Name.Function.Magic */\n",
       ".cython .vc { color: #19177C } /* Name.Variable.Class */\n",
       ".cython .vg { color: #19177C } /* Name.Variable.Global */\n",
       ".cython .vi { color: #19177C } /* Name.Variable.Instance */\n",
       ".cython .vm { color: #19177C } /* Name.Variable.Magic */\n",
       ".cython .il { color: #666666 } /* Literal.Number.Integer.Long */\n",
       "    </style>\n",
       "</head>\n",
       "<body class=\"cython\">\n",
       "<p><span style=\"border-bottom: solid 1px grey;\">Generated by Cython 3.0.0b2</span></p>\n",
       "<p>\n",
       "    <span style=\"background-color: #FFFF00\">Yellow lines</span> hint at Python interaction.<br />\n",
       "    Click on a line that starts with a \"<code>+</code>\" to see the C code that Cython generated for it.\n",
       "</p>\n",
       "<div class=\"cython\"><pre class=\"cython line score-0\">&#xA0;<span class=\"\">01</span>: </pre>\n",
       "<pre class=\"cython line score-8\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">02</span>: <span class=\"k\">from</span> <span class=\"nn\">cython</span> <span class=\"k\">cimport</span> <span class=\"nb\">bytearray</span></pre>\n",
       "<pre class='cython code score-8 '>  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyDict_NewPresized</span>(0);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_test, __pyx_t_5) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 2, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">03</span>: <span class=\"k\">ctypedef</span> <span class=\"nb\">unsigned</span> <span class=\"n\">char</span> <span class=\"n\">uint8_t</span></pre>\n",
       "<pre class=\"cython line score-3\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">04</span>: <span class=\"k\">cdef</span> <span class=\"nf\">bytearray_setval</span><span class=\"p\">(</span><span class=\"n\">uint8_t</span><span class=\"p\">[::</span><span class=\"mf\">1</span><span class=\"p\">]</span> <span class=\"n\">a</span><span class=\"p\">,</span> <span class=\"nb\">int</span> <span class=\"n\">val</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-3 '>static PyObject *__pyx_f_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_bytearray_setval(__Pyx_memviewslice __pyx_v_a, int __pyx_v_val) {\n",
       "  Py_ssize_t __pyx_v_i;\n",
       "  PyObject *__pyx_r = NULL;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"bytearray_setval\", 0);\n",
       "/* … */\n",
       "  /* function exit code */\n",
       "  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);\n",
       "  goto __pyx_L0;\n",
       "  __pyx_L1_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5.bytearray_setval\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  __pyx_r = 0;\n",
       "  __pyx_L0:;\n",
       "  <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "</pre><pre class=\"cython line score-2\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">05</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"nb\">len</span><span class=\"p\">(</span><span class=\"n\">a</span><span class=\"p\">)):</span></pre>\n",
       "<pre class='cython code score-2 '>  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_MemoryView_Len</span>(__pyx_v_a); \n",
       "  __pyx_t_2 = __pyx_t_1;\n",
       "  for (__pyx_t_3 = 0; __pyx_t_3 &lt; __pyx_t_2; __pyx_t_3+=1) {\n",
       "    __pyx_v_i = __pyx_t_3;\n",
       "</pre><pre class=\"cython line score-2\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">06</span>:         <span class=\"n\">a</span><span class=\"p\">[</span><span class=\"n\">i</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">val</span></pre>\n",
       "<pre class='cython code score-2 '>    __pyx_t_4 = __pyx_v_i;\n",
       "    __pyx_t_5 = -1;\n",
       "    if (__pyx_t_4 &lt; 0) {\n",
       "      __pyx_t_4 += __pyx_v_a.shape[0];\n",
       "      if (unlikely(__pyx_t_4 &lt; 0)) __pyx_t_5 = 0;\n",
       "    } else if (unlikely(__pyx_t_4 &gt;= __pyx_v_a.shape[0])) __pyx_t_5 = 0;\n",
       "    if (unlikely(__pyx_t_5 != -1)) {\n",
       "      <span class='pyx_c_api'>__Pyx_RaiseBufferIndexError</span>(__pyx_t_5);\n",
       "      <span class='error_goto'>__PYX_ERR(0, 6, __pyx_L1_error)</span>\n",
       "    }\n",
       "    *((__pyx_t_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_uint8_t *) ( /* dim=0 */ ((char *) (((__pyx_t_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_uint8_t *) __pyx_v_a.data) + __pyx_t_4)) )) = __pyx_v_val;\n",
       "  }\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">07</span>: </pre>\n",
       "<pre class=\"cython line score-8\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">08</span>: <span class=\"k\">cdef</span> <span class=\"kt\">uint8_t</span>[<span class=\"p\">::</span><span class=\"mf\">1</span><span class=\"p\">]</span> <span class=\"n\">a</span> <span class=\"o\">=</span> <span class=\"nb\">bytearray</span><span class=\"p\">(</span><span class=\"mf\">3</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-8 '>  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(((PyObject *)(&amp;PyByteArray_Type)), __pyx_tuple__20, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 8, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  __pyx_t_9 = __Pyx_PyObject_to_MemoryviewSlice_dc_nn___pyx_t_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_uint8_t(__pyx_t_7, PyBUF_WRITABLE);<span class='error_goto'> if (unlikely(!__pyx_t_9.memview)) __PYX_ERR(0, 8, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_v_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_a, 1);\n",
       "  __pyx_v_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_a = __pyx_t_9;\n",
       "  __pyx_t_9.memview = NULL;\n",
       "  __pyx_t_9.data = NULL;\n",
       "/* … */\n",
       "  __pyx_tuple__20 = <span class='py_c_api'>PyTuple_Pack</span>(1, __pyx_int_3);<span class='error_goto'> if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 8, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__20);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__20);\n",
       "</pre><pre class=\"cython line score-3\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">09</span>: <span class=\"n\">bytearray_setval</span><span class=\"p\">(</span><span class=\"n\">a</span><span class=\"p\">,</span> <span class=\"mf\">2</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-3 '>  if (unlikely(!__pyx_v_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_a.memview)) { <span class='pyx_c_api'>__Pyx_RaiseUnboundLocalError</span>(\"a\"); <span class='error_goto'>__PYX_ERR(0, 9, __pyx_L1_error)</span> }\n",
       "  __pyx_t_7 = __pyx_f_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_bytearray_setval(__pyx_v_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_a, 2);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 9, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-3\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">10</span>: <span class=\"k\">cdef</span> <span class=\"kt\">uint8_t</span>[<span class=\"p\">::</span><span class=\"mf\">1</span><span class=\"p\">]</span> <span class=\"n\">b</span> <span class=\"o\">=</span> <span class=\"nb\">bytearray</span><span class=\"p\">(</span><span class=\"mf\">5</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-3 '>  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(((PyObject *)(&amp;PyByteArray_Type)), __pyx_tuple__21, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 10, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  __pyx_t_9 = __Pyx_PyObject_to_MemoryviewSlice_dc_nn___pyx_t_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_uint8_t(__pyx_t_7, PyBUF_WRITABLE);<span class='error_goto'> if (unlikely(!__pyx_t_9.memview)) __PYX_ERR(0, 10, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_v_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_b, 1);\n",
       "  __pyx_v_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_b = __pyx_t_9;\n",
       "  __pyx_t_9.memview = NULL;\n",
       "  __pyx_t_9.data = NULL;\n",
       "</pre><pre class=\"cython line score-3\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">11</span>: <span class=\"n\">bytearray_setval</span><span class=\"p\">(</span><span class=\"n\">b</span><span class=\"p\">,</span> <span class=\"mf\">3</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-3 '>  if (unlikely(!__pyx_v_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_b.memview)) { <span class='pyx_c_api'>__Pyx_RaiseUnboundLocalError</span>(\"b\"); <span class='error_goto'>__PYX_ERR(0, 11, __pyx_L1_error)</span> }\n",
       "  __pyx_t_7 = __pyx_f_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_bytearray_setval(__pyx_v_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_b, 3);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 11, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-21\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">12</span>: <span class=\"k\">print</span><span class=\"p\">(</span><span class=\"nb\">bytearray</span><span class=\"p\">(</span><span class=\"n\">a</span><span class=\"p\">)</span> <span class=\"o\">+</span> <span class=\"nb\">bytearray</span><span class=\"p\">(</span><span class=\"n\">b</span><span class=\"p\">))</span></pre>\n",
       "<pre class='cython code score-21 '>  if (unlikely(!__pyx_v_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_a.memview)) { <span class='pyx_c_api'>__Pyx_RaiseUnboundLocalError</span>(\"a\"); <span class='error_goto'>__PYX_ERR(0, 12, __pyx_L1_error)</span> }\n",
       "  __pyx_t_7 = __pyx_memoryview_fromslice(__pyx_v_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_a, 1, (PyObject *(*)(char *)) __pyx_memview_get_nn___pyx_t_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_uint8_t, (int (*)(char *, PyObject *)) __pyx_memview_set_nn___pyx_t_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_uint8_t, 0);;<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(((PyObject *)(&amp;PyByteArray_Type)), __pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  if (unlikely(!__pyx_v_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_b.memview)) { <span class='pyx_c_api'>__Pyx_RaiseUnboundLocalError</span>(\"b\"); <span class='error_goto'>__PYX_ERR(0, 12, __pyx_L1_error)</span> }\n",
       "  __pyx_t_7 = __pyx_memoryview_fromslice(__pyx_v_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_b, 1, (PyObject *(*)(char *)) __pyx_memview_get_nn___pyx_t_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_uint8_t, (int (*)(char *, PyObject *)) __pyx_memview_set_nn___pyx_t_54_cython_magic_c6c4af011ab88bb3adafdd5c00519db7462d69e5_uint8_t, 0);;<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(((PyObject *)(&amp;PyByteArray_Type)), __pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  __pyx_t_7 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_t_4, __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_builtin_print, __pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 12, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "</pre></div></body></html>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%cython --annotate\n",
    "\n",
    "from cython cimport bytearray\n",
    "ctypedef unsigned char uint8_t\n",
    "cdef bytearray_setval(uint8_t[::1] a, int val):\n",
    "    for i in range(len(a)):\n",
    "        a[i] = val\n",
    "\n",
    "cdef uint8_t[::1] a = bytearray(3)\n",
    "bytearray_setval(a, 2)\n",
    "cdef uint8_t[::1] b = bytearray(5)\n",
    "bytearray_setval(b, 3)\n",
    "print(bytearray(a) + bytearray(b))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "a8724fac",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Content of stdout:\n",
      "_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a.c\n",
      "C:\\Users\\THEMATRIXNEO\\miniconda3\\lib\\site-packages\\numpy\\core\\include\\numpy\\npy_1_7_deprecated_api.h(14) : Warning Msg: Using deprecated NumPy API, disable it with #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION\n",
      "C:\\Users\\THEMATRIXNEO\\.ipython\\cython\\_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a.c(1493): warning C4005: '__pyx_nonatomic_int_type'ÿ: red‚finition de macro\n",
      "C:\\Users\\THEMATRIXNEO\\.ipython\\cython\\_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a.c(1444): note: voir la d‚finition pr‚c‚dente de '__pyx_nonatomic_int_type'\n",
      "   Cr‚ation de la bibliothŠque C:\\Users\\THEMATRIXNEO\\.ipython\\cython\\Users\\THEMATRIXNEO\\.ipython\\cython\\_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a.cp310-win_amd64.lib et de l'objet C:\\Users\\THEMATRIXNEO\\.ipython\\cython\\Users\\THEMATRIXNEO\\.ipython\\cython\\_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a.cp310-win_amd64.exp\n",
      "G‚n‚ration de code en cours\n",
      "Fin de la g‚n‚ration du codeElapsed time to make cython array with length of 1 is 0.390625 us\n",
      "Elapsed time to make cython array with length of 10 is 0.4375 us\n",
      "Elapsed time to make cython array with length of 100 is 0.453125 us\n",
      "Elapsed time to make cython array with length of 1000 is 0.484375 us\n",
      "Elapsed time to make cython array with length of 10000 is 0.703125 us\n",
      "Elapsed time to make numpy array with length of 1 is 0.390625 us\n",
      "Elapsed time to make numpy array with length of 10 is 0.515625 us\n",
      "Elapsed time to make numpy array with length of 100 is 0.546875 us\n",
      "Elapsed time to make numpy array with length of 1000 is 1.109375 us\n",
      "Elapsed time to make numpy array with length of 10000 is 5.609375 us\n",
      "Elapsed time with raw c-allocation with length of 1 is 0.0625 us\n",
      "Elapsed time with raw c-allocation with length of 10 is 0.0625 us\n",
      "Elapsed time with raw c-allocation with length of 100 is 0.0625 us\n",
      "Elapsed time with raw c-allocation with length of 1000 is 0.0625 us\n",
      "Elapsed time with raw c-allocation with length of 10000 is 0.34375 us\n",
      "Elapsed time to make cpython array with length of 1 is 0.0625 us\n",
      "Elapsed time to make cpython array with length of 10 is 0.078125 us\n",
      "Elapsed time to make cpython array with length of 100 is 0.171875 us\n",
      "Elapsed time to make cpython array with length of 1000 is 0.1875 us\n",
      "Elapsed time to make cpython array with length of 10000 is 0.484375 us\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<!DOCTYPE html>\n",
       "<!-- Generated by Cython 3.0.0b2 -->\n",
       "<html>\n",
       "<head>\n",
       "    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n",
       "    <title>Cython: _cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a.pyx</title>\n",
       "    <style type=\"text/css\">\n",
       "    \n",
       "body.cython { font-family: courier; font-size: 12; }\n",
       "\n",
       ".cython.tag  {  }\n",
       ".cython.line { color: #000000; margin: 0em }\n",
       ".cython.code { font-size: 9; color: #444444; display: none; margin: 0px 0px 0px 8px; border-left: 8px none; }\n",
       "\n",
       ".cython.line .run { background-color: #B0FFB0; }\n",
       ".cython.line .mis { background-color: #FFB0B0; }\n",
       ".cython.code.run  { border-left: 8px solid #B0FFB0; }\n",
       ".cython.code.mis  { border-left: 8px solid #FFB0B0; }\n",
       "\n",
       ".cython.code .py_c_api  { color: red; }\n",
       ".cython.code .py_macro_api  { color: #FF7000; }\n",
       ".cython.code .pyx_c_api  { color: #FF3000; }\n",
       ".cython.code .pyx_macro_api  { color: #FF7000; }\n",
       ".cython.code .refnanny  { color: #FFA000; }\n",
       ".cython.code .trace  { color: #FFA000; }\n",
       ".cython.code .error_goto  { color: #FFA000; }\n",
       "\n",
       ".cython.code .coerce  { color: #008000; border: 1px dotted #008000 }\n",
       ".cython.code .py_attr { color: #FF0000; font-weight: bold; }\n",
       ".cython.code .c_attr  { color: #0000FF; }\n",
       ".cython.code .py_call { color: #FF0000; font-weight: bold; }\n",
       ".cython.code .c_call  { color: #0000FF; }\n",
       "\n",
       ".cython.score-0 {background-color: #FFFFff;}\n",
       ".cython.score-1 {background-color: #FFFFe7;}\n",
       ".cython.score-2 {background-color: #FFFFd4;}\n",
       ".cython.score-3 {background-color: #FFFFc4;}\n",
       ".cython.score-4 {background-color: #FFFFb6;}\n",
       ".cython.score-5 {background-color: #FFFFaa;}\n",
       ".cython.score-6 {background-color: #FFFF9f;}\n",
       ".cython.score-7 {background-color: #FFFF96;}\n",
       ".cython.score-8 {background-color: #FFFF8d;}\n",
       ".cython.score-9 {background-color: #FFFF86;}\n",
       ".cython.score-10 {background-color: #FFFF7f;}\n",
       ".cython.score-11 {background-color: #FFFF79;}\n",
       ".cython.score-12 {background-color: #FFFF73;}\n",
       ".cython.score-13 {background-color: #FFFF6e;}\n",
       ".cython.score-14 {background-color: #FFFF6a;}\n",
       ".cython.score-15 {background-color: #FFFF66;}\n",
       ".cython.score-16 {background-color: #FFFF62;}\n",
       ".cython.score-17 {background-color: #FFFF5e;}\n",
       ".cython.score-18 {background-color: #FFFF5b;}\n",
       ".cython.score-19 {background-color: #FFFF57;}\n",
       ".cython.score-20 {background-color: #FFFF55;}\n",
       ".cython.score-21 {background-color: #FFFF52;}\n",
       ".cython.score-22 {background-color: #FFFF4f;}\n",
       ".cython.score-23 {background-color: #FFFF4d;}\n",
       ".cython.score-24 {background-color: #FFFF4b;}\n",
       ".cython.score-25 {background-color: #FFFF48;}\n",
       ".cython.score-26 {background-color: #FFFF46;}\n",
       ".cython.score-27 {background-color: #FFFF44;}\n",
       ".cython.score-28 {background-color: #FFFF43;}\n",
       ".cython.score-29 {background-color: #FFFF41;}\n",
       ".cython.score-30 {background-color: #FFFF3f;}\n",
       ".cython.score-31 {background-color: #FFFF3e;}\n",
       ".cython.score-32 {background-color: #FFFF3c;}\n",
       ".cython.score-33 {background-color: #FFFF3b;}\n",
       ".cython.score-34 {background-color: #FFFF39;}\n",
       ".cython.score-35 {background-color: #FFFF38;}\n",
       ".cython.score-36 {background-color: #FFFF37;}\n",
       ".cython.score-37 {background-color: #FFFF36;}\n",
       ".cython.score-38 {background-color: #FFFF35;}\n",
       ".cython.score-39 {background-color: #FFFF34;}\n",
       ".cython.score-40 {background-color: #FFFF33;}\n",
       ".cython.score-41 {background-color: #FFFF32;}\n",
       ".cython.score-42 {background-color: #FFFF31;}\n",
       ".cython.score-43 {background-color: #FFFF30;}\n",
       ".cython.score-44 {background-color: #FFFF2f;}\n",
       ".cython.score-45 {background-color: #FFFF2e;}\n",
       ".cython.score-46 {background-color: #FFFF2d;}\n",
       ".cython.score-47 {background-color: #FFFF2c;}\n",
       ".cython.score-48 {background-color: #FFFF2b;}\n",
       ".cython.score-49 {background-color: #FFFF2b;}\n",
       ".cython.score-50 {background-color: #FFFF2a;}\n",
       ".cython.score-51 {background-color: #FFFF29;}\n",
       ".cython.score-52 {background-color: #FFFF29;}\n",
       ".cython.score-53 {background-color: #FFFF28;}\n",
       ".cython.score-54 {background-color: #FFFF27;}\n",
       ".cython.score-55 {background-color: #FFFF27;}\n",
       ".cython.score-56 {background-color: #FFFF26;}\n",
       ".cython.score-57 {background-color: #FFFF26;}\n",
       ".cython.score-58 {background-color: #FFFF25;}\n",
       ".cython.score-59 {background-color: #FFFF24;}\n",
       ".cython.score-60 {background-color: #FFFF24;}\n",
       ".cython.score-61 {background-color: #FFFF23;}\n",
       ".cython.score-62 {background-color: #FFFF23;}\n",
       ".cython.score-63 {background-color: #FFFF22;}\n",
       ".cython.score-64 {background-color: #FFFF22;}\n",
       ".cython.score-65 {background-color: #FFFF22;}\n",
       ".cython.score-66 {background-color: #FFFF21;}\n",
       ".cython.score-67 {background-color: #FFFF21;}\n",
       ".cython.score-68 {background-color: #FFFF20;}\n",
       ".cython.score-69 {background-color: #FFFF20;}\n",
       ".cython.score-70 {background-color: #FFFF1f;}\n",
       ".cython.score-71 {background-color: #FFFF1f;}\n",
       ".cython.score-72 {background-color: #FFFF1f;}\n",
       ".cython.score-73 {background-color: #FFFF1e;}\n",
       ".cython.score-74 {background-color: #FFFF1e;}\n",
       ".cython.score-75 {background-color: #FFFF1e;}\n",
       ".cython.score-76 {background-color: #FFFF1d;}\n",
       ".cython.score-77 {background-color: #FFFF1d;}\n",
       ".cython.score-78 {background-color: #FFFF1c;}\n",
       ".cython.score-79 {background-color: #FFFF1c;}\n",
       ".cython.score-80 {background-color: #FFFF1c;}\n",
       ".cython.score-81 {background-color: #FFFF1c;}\n",
       ".cython.score-82 {background-color: #FFFF1b;}\n",
       ".cython.score-83 {background-color: #FFFF1b;}\n",
       ".cython.score-84 {background-color: #FFFF1b;}\n",
       ".cython.score-85 {background-color: #FFFF1a;}\n",
       ".cython.score-86 {background-color: #FFFF1a;}\n",
       ".cython.score-87 {background-color: #FFFF1a;}\n",
       ".cython.score-88 {background-color: #FFFF1a;}\n",
       ".cython.score-89 {background-color: #FFFF19;}\n",
       ".cython.score-90 {background-color: #FFFF19;}\n",
       ".cython.score-91 {background-color: #FFFF19;}\n",
       ".cython.score-92 {background-color: #FFFF19;}\n",
       ".cython.score-93 {background-color: #FFFF18;}\n",
       ".cython.score-94 {background-color: #FFFF18;}\n",
       ".cython.score-95 {background-color: #FFFF18;}\n",
       ".cython.score-96 {background-color: #FFFF18;}\n",
       ".cython.score-97 {background-color: #FFFF17;}\n",
       ".cython.score-98 {background-color: #FFFF17;}\n",
       ".cython.score-99 {background-color: #FFFF17;}\n",
       ".cython.score-100 {background-color: #FFFF17;}\n",
       ".cython.score-101 {background-color: #FFFF16;}\n",
       ".cython.score-102 {background-color: #FFFF16;}\n",
       ".cython.score-103 {background-color: #FFFF16;}\n",
       ".cython.score-104 {background-color: #FFFF16;}\n",
       ".cython.score-105 {background-color: #FFFF16;}\n",
       ".cython.score-106 {background-color: #FFFF15;}\n",
       ".cython.score-107 {background-color: #FFFF15;}\n",
       ".cython.score-108 {background-color: #FFFF15;}\n",
       ".cython.score-109 {background-color: #FFFF15;}\n",
       ".cython.score-110 {background-color: #FFFF15;}\n",
       ".cython.score-111 {background-color: #FFFF15;}\n",
       ".cython.score-112 {background-color: #FFFF14;}\n",
       ".cython.score-113 {background-color: #FFFF14;}\n",
       ".cython.score-114 {background-color: #FFFF14;}\n",
       ".cython.score-115 {background-color: #FFFF14;}\n",
       ".cython.score-116 {background-color: #FFFF14;}\n",
       ".cython.score-117 {background-color: #FFFF14;}\n",
       ".cython.score-118 {background-color: #FFFF13;}\n",
       ".cython.score-119 {background-color: #FFFF13;}\n",
       ".cython.score-120 {background-color: #FFFF13;}\n",
       ".cython.score-121 {background-color: #FFFF13;}\n",
       ".cython.score-122 {background-color: #FFFF13;}\n",
       ".cython.score-123 {background-color: #FFFF13;}\n",
       ".cython.score-124 {background-color: #FFFF13;}\n",
       ".cython.score-125 {background-color: #FFFF12;}\n",
       ".cython.score-126 {background-color: #FFFF12;}\n",
       ".cython.score-127 {background-color: #FFFF12;}\n",
       ".cython.score-128 {background-color: #FFFF12;}\n",
       ".cython.score-129 {background-color: #FFFF12;}\n",
       ".cython.score-130 {background-color: #FFFF12;}\n",
       ".cython.score-131 {background-color: #FFFF12;}\n",
       ".cython.score-132 {background-color: #FFFF11;}\n",
       ".cython.score-133 {background-color: #FFFF11;}\n",
       ".cython.score-134 {background-color: #FFFF11;}\n",
       ".cython.score-135 {background-color: #FFFF11;}\n",
       ".cython.score-136 {background-color: #FFFF11;}\n",
       ".cython.score-137 {background-color: #FFFF11;}\n",
       ".cython.score-138 {background-color: #FFFF11;}\n",
       ".cython.score-139 {background-color: #FFFF11;}\n",
       ".cython.score-140 {background-color: #FFFF11;}\n",
       ".cython.score-141 {background-color: #FFFF10;}\n",
       ".cython.score-142 {background-color: #FFFF10;}\n",
       ".cython.score-143 {background-color: #FFFF10;}\n",
       ".cython.score-144 {background-color: #FFFF10;}\n",
       ".cython.score-145 {background-color: #FFFF10;}\n",
       ".cython.score-146 {background-color: #FFFF10;}\n",
       ".cython.score-147 {background-color: #FFFF10;}\n",
       ".cython.score-148 {background-color: #FFFF10;}\n",
       ".cython.score-149 {background-color: #FFFF10;}\n",
       ".cython.score-150 {background-color: #FFFF0f;}\n",
       ".cython.score-151 {background-color: #FFFF0f;}\n",
       ".cython.score-152 {background-color: #FFFF0f;}\n",
       ".cython.score-153 {background-color: #FFFF0f;}\n",
       ".cython.score-154 {background-color: #FFFF0f;}\n",
       ".cython.score-155 {background-color: #FFFF0f;}\n",
       ".cython.score-156 {background-color: #FFFF0f;}\n",
       ".cython.score-157 {background-color: #FFFF0f;}\n",
       ".cython.score-158 {background-color: #FFFF0f;}\n",
       ".cython.score-159 {background-color: #FFFF0f;}\n",
       ".cython.score-160 {background-color: #FFFF0f;}\n",
       ".cython.score-161 {background-color: #FFFF0e;}\n",
       ".cython.score-162 {background-color: #FFFF0e;}\n",
       ".cython.score-163 {background-color: #FFFF0e;}\n",
       ".cython.score-164 {background-color: #FFFF0e;}\n",
       ".cython.score-165 {background-color: #FFFF0e;}\n",
       ".cython.score-166 {background-color: #FFFF0e;}\n",
       ".cython.score-167 {background-color: #FFFF0e;}\n",
       ".cython.score-168 {background-color: #FFFF0e;}\n",
       ".cython.score-169 {background-color: #FFFF0e;}\n",
       ".cython.score-170 {background-color: #FFFF0e;}\n",
       ".cython.score-171 {background-color: #FFFF0e;}\n",
       ".cython.score-172 {background-color: #FFFF0e;}\n",
       ".cython.score-173 {background-color: #FFFF0d;}\n",
       ".cython.score-174 {background-color: #FFFF0d;}\n",
       ".cython.score-175 {background-color: #FFFF0d;}\n",
       ".cython.score-176 {background-color: #FFFF0d;}\n",
       ".cython.score-177 {background-color: #FFFF0d;}\n",
       ".cython.score-178 {background-color: #FFFF0d;}\n",
       ".cython.score-179 {background-color: #FFFF0d;}\n",
       ".cython.score-180 {background-color: #FFFF0d;}\n",
       ".cython.score-181 {background-color: #FFFF0d;}\n",
       ".cython.score-182 {background-color: #FFFF0d;}\n",
       ".cython.score-183 {background-color: #FFFF0d;}\n",
       ".cython.score-184 {background-color: #FFFF0d;}\n",
       ".cython.score-185 {background-color: #FFFF0d;}\n",
       ".cython.score-186 {background-color: #FFFF0d;}\n",
       ".cython.score-187 {background-color: #FFFF0c;}\n",
       ".cython.score-188 {background-color: #FFFF0c;}\n",
       ".cython.score-189 {background-color: #FFFF0c;}\n",
       ".cython.score-190 {background-color: #FFFF0c;}\n",
       ".cython.score-191 {background-color: #FFFF0c;}\n",
       ".cython.score-192 {background-color: #FFFF0c;}\n",
       ".cython.score-193 {background-color: #FFFF0c;}\n",
       ".cython.score-194 {background-color: #FFFF0c;}\n",
       ".cython.score-195 {background-color: #FFFF0c;}\n",
       ".cython.score-196 {background-color: #FFFF0c;}\n",
       ".cython.score-197 {background-color: #FFFF0c;}\n",
       ".cython.score-198 {background-color: #FFFF0c;}\n",
       ".cython.score-199 {background-color: #FFFF0c;}\n",
       ".cython.score-200 {background-color: #FFFF0c;}\n",
       ".cython.score-201 {background-color: #FFFF0c;}\n",
       ".cython.score-202 {background-color: #FFFF0c;}\n",
       ".cython.score-203 {background-color: #FFFF0b;}\n",
       ".cython.score-204 {background-color: #FFFF0b;}\n",
       ".cython.score-205 {background-color: #FFFF0b;}\n",
       ".cython.score-206 {background-color: #FFFF0b;}\n",
       ".cython.score-207 {background-color: #FFFF0b;}\n",
       ".cython.score-208 {background-color: #FFFF0b;}\n",
       ".cython.score-209 {background-color: #FFFF0b;}\n",
       ".cython.score-210 {background-color: #FFFF0b;}\n",
       ".cython.score-211 {background-color: #FFFF0b;}\n",
       ".cython.score-212 {background-color: #FFFF0b;}\n",
       ".cython.score-213 {background-color: #FFFF0b;}\n",
       ".cython.score-214 {background-color: #FFFF0b;}\n",
       ".cython.score-215 {background-color: #FFFF0b;}\n",
       ".cython.score-216 {background-color: #FFFF0b;}\n",
       ".cython.score-217 {background-color: #FFFF0b;}\n",
       ".cython.score-218 {background-color: #FFFF0b;}\n",
       ".cython.score-219 {background-color: #FFFF0b;}\n",
       ".cython.score-220 {background-color: #FFFF0b;}\n",
       ".cython.score-221 {background-color: #FFFF0b;}\n",
       ".cython.score-222 {background-color: #FFFF0a;}\n",
       ".cython.score-223 {background-color: #FFFF0a;}\n",
       ".cython.score-224 {background-color: #FFFF0a;}\n",
       ".cython.score-225 {background-color: #FFFF0a;}\n",
       ".cython.score-226 {background-color: #FFFF0a;}\n",
       ".cython.score-227 {background-color: #FFFF0a;}\n",
       ".cython.score-228 {background-color: #FFFF0a;}\n",
       ".cython.score-229 {background-color: #FFFF0a;}\n",
       ".cython.score-230 {background-color: #FFFF0a;}\n",
       ".cython.score-231 {background-color: #FFFF0a;}\n",
       ".cython.score-232 {background-color: #FFFF0a;}\n",
       ".cython.score-233 {background-color: #FFFF0a;}\n",
       ".cython.score-234 {background-color: #FFFF0a;}\n",
       ".cython.score-235 {background-color: #FFFF0a;}\n",
       ".cython.score-236 {background-color: #FFFF0a;}\n",
       ".cython.score-237 {background-color: #FFFF0a;}\n",
       ".cython.score-238 {background-color: #FFFF0a;}\n",
       ".cython.score-239 {background-color: #FFFF0a;}\n",
       ".cython.score-240 {background-color: #FFFF0a;}\n",
       ".cython.score-241 {background-color: #FFFF0a;}\n",
       ".cython.score-242 {background-color: #FFFF0a;}\n",
       ".cython.score-243 {background-color: #FFFF0a;}\n",
       ".cython.score-244 {background-color: #FFFF0a;}\n",
       ".cython.score-245 {background-color: #FFFF0a;}\n",
       ".cython.score-246 {background-color: #FFFF09;}\n",
       ".cython.score-247 {background-color: #FFFF09;}\n",
       ".cython.score-248 {background-color: #FFFF09;}\n",
       ".cython.score-249 {background-color: #FFFF09;}\n",
       ".cython.score-250 {background-color: #FFFF09;}\n",
       ".cython.score-251 {background-color: #FFFF09;}\n",
       ".cython.score-252 {background-color: #FFFF09;}\n",
       ".cython.score-253 {background-color: #FFFF09;}\n",
       ".cython.score-254 {background-color: #FFFF09;}\n",
       "pre { line-height: 125%; }\n",
       "td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n",
       "span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n",
       "td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n",
       "span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n",
       ".cython .hll { background-color: #ffffcc }\n",
       ".cython { background: #f8f8f8; }\n",
       ".cython .c { color: #3D7B7B; font-style: italic } /* Comment */\n",
       ".cython .err { border: 1px solid #FF0000 } /* Error */\n",
       ".cython .k { color: #008000; font-weight: bold } /* Keyword */\n",
       ".cython .o { color: #666666 } /* Operator */\n",
       ".cython .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */\n",
       ".cython .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */\n",
       ".cython .cp { color: #9C6500 } /* Comment.Preproc */\n",
       ".cython .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */\n",
       ".cython .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */\n",
       ".cython .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */\n",
       ".cython .gd { color: #A00000 } /* Generic.Deleted */\n",
       ".cython .ge { font-style: italic } /* Generic.Emph */\n",
       ".cython .gr { color: #E40000 } /* Generic.Error */\n",
       ".cython .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n",
       ".cython .gi { color: #008400 } /* Generic.Inserted */\n",
       ".cython .go { color: #717171 } /* Generic.Output */\n",
       ".cython .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n",
       ".cython .gs { font-weight: bold } /* Generic.Strong */\n",
       ".cython .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n",
       ".cython .gt { color: #0044DD } /* Generic.Traceback */\n",
       ".cython .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n",
       ".cython .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n",
       ".cython .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n",
       ".cython .kp { color: #008000 } /* Keyword.Pseudo */\n",
       ".cython .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n",
       ".cython .kt { color: #B00040 } /* Keyword.Type */\n",
       ".cython .m { color: #666666 } /* Literal.Number */\n",
       ".cython .s { color: #BA2121 } /* Literal.String */\n",
       ".cython .na { color: #687822 } /* Name.Attribute */\n",
       ".cython .nb { color: #008000 } /* Name.Builtin */\n",
       ".cython .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n",
       ".cython .no { color: #880000 } /* Name.Constant */\n",
       ".cython .nd { color: #AA22FF } /* Name.Decorator */\n",
       ".cython .ni { color: #717171; font-weight: bold } /* Name.Entity */\n",
       ".cython .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */\n",
       ".cython .nf { color: #0000FF } /* Name.Function */\n",
       ".cython .nl { color: #767600 } /* Name.Label */\n",
       ".cython .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n",
       ".cython .nt { color: #008000; font-weight: bold } /* Name.Tag */\n",
       ".cython .nv { color: #19177C } /* Name.Variable */\n",
       ".cython .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n",
       ".cython .w { color: #bbbbbb } /* Text.Whitespace */\n",
       ".cython .mb { color: #666666 } /* Literal.Number.Bin */\n",
       ".cython .mf { color: #666666 } /* Literal.Number.Float */\n",
       ".cython .mh { color: #666666 } /* Literal.Number.Hex */\n",
       ".cython .mi { color: #666666 } /* Literal.Number.Integer */\n",
       ".cython .mo { color: #666666 } /* Literal.Number.Oct */\n",
       ".cython .sa { color: #BA2121 } /* Literal.String.Affix */\n",
       ".cython .sb { color: #BA2121 } /* Literal.String.Backtick */\n",
       ".cython .sc { color: #BA2121 } /* Literal.String.Char */\n",
       ".cython .dl { color: #BA2121 } /* Literal.String.Delimiter */\n",
       ".cython .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n",
       ".cython .s2 { color: #BA2121 } /* Literal.String.Double */\n",
       ".cython .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */\n",
       ".cython .sh { color: #BA2121 } /* Literal.String.Heredoc */\n",
       ".cython .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */\n",
       ".cython .sx { color: #008000 } /* Literal.String.Other */\n",
       ".cython .sr { color: #A45A77 } /* Literal.String.Regex */\n",
       ".cython .s1 { color: #BA2121 } /* Literal.String.Single */\n",
       ".cython .ss { color: #19177C } /* Literal.String.Symbol */\n",
       ".cython .bp { color: #008000 } /* Name.Builtin.Pseudo */\n",
       ".cython .fm { color: #0000FF } /* Name.Function.Magic */\n",
       ".cython .vc { color: #19177C } /* Name.Variable.Class */\n",
       ".cython .vg { color: #19177C } /* Name.Variable.Global */\n",
       ".cython .vi { color: #19177C } /* Name.Variable.Instance */\n",
       ".cython .vm { color: #19177C } /* Name.Variable.Magic */\n",
       ".cython .il { color: #666666 } /* Literal.Number.Integer.Long */\n",
       "    </style>\n",
       "</head>\n",
       "<body class=\"cython\">\n",
       "<p><span style=\"border-bottom: solid 1px grey;\">Generated by Cython 3.0.0b2</span></p>\n",
       "<p>\n",
       "    <span style=\"background-color: #FFFF00\">Yellow lines</span> hint at Python interaction.<br />\n",
       "    Click on a line that starts with a \"<code>+</code>\" to see the C code that Cython generated for it.\n",
       "</p>\n",
       "<div class=\"cython\"><pre class=\"cython line score-0\">&#xA0;<span class=\"\">01</span>: </pre>\n",
       "<pre class=\"cython line score-8\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">02</span>: <span class=\"k\">from</span> <span class=\"nn\">cython.view</span> <span class=\"k\">cimport</span> <span class=\"n\">array</span> <span class=\"k\">as</span> <span class=\"n\">cvarray</span></pre>\n",
       "<pre class='cython code score-8 '>  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyDict_NewPresized</span>(0);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_test, __pyx_t_7) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 2, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-8\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">03</span>: <span class=\"k\">import</span> <span class=\"nn\">time</span></pre>\n",
       "<pre class='cython code score-8 '>  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_ImportDottedModule</span>(__pyx_n_s_time, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 3, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_time, __pyx_t_7) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 3, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">04</span>: </pre>\n",
       "<pre class=\"cython line score-8\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">05</span>: <span class=\"k\">import</span> <span class=\"nn\">numpy</span> <span class=\"k\">as</span> <span class=\"nn\">np</span></pre>\n",
       "<pre class='cython code score-8 '>  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_ImportDottedModule</span>(__pyx_n_s_numpy, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 5, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_np, __pyx_t_7) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 5, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">06</span>: <span class=\"k\">cimport</span> <span class=\"nn\">numpy</span> <span class=\"k\">as</span> <span class=\"nn\">np</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">07</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">08</span>: <span class=\"k\">from</span> <span class=\"nn\">cpython</span> <span class=\"k\">cimport</span> <span class=\"n\">array</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">09</span>: <span class=\"k\">from</span> <span class=\"nn\">libc.stdlib</span> <span class=\"k\">cimport</span> <span class=\"n\">malloc</span><span class=\"p\">,</span> <span class=\"n\">free</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">10</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">11</span>: <span class=\"k\">cdef</span> <span class=\"kt\">double</span>* <span class=\"nf\">ptr</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">12</span>: </pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">13</span>: <span class=\"k\">cdef</span> <span class=\"kt\">long</span> <span class=\"nf\">N</span> <span class=\"o\">=</span> <span class=\"mf\">1000000</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_N = 0xF4240;\n",
       "</pre><pre class=\"cython line score-27\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">14</span>: <span class=\"k\">cdef</span> <span class=\"kt\">array</span>.<span class=\"kt\">array</span> <span class=\"nf\">Lrange</span> <span class=\"o\">=</span> <span class=\"n\">array</span><span class=\"o\">.</span><span class=\"n\">array</span><span class=\"p\">(</span><span class=\"s\">&#39;i&#39;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"mf\">1</span><span class=\"p\">,</span><span class=\"mf\">10</span><span class=\"p\">,</span><span class=\"mf\">100</span><span class=\"p\">,</span><span class=\"mf\">1000</span><span class=\"p\">,</span><span class=\"mf\">10000</span><span class=\"p\">])</span></pre>\n",
       "<pre class='cython code score-27 '>  __pyx_t_7 = <span class='py_c_api'>PyList_New</span>(5);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_int_1);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_int_1);\n",
       "  <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_7, 0, __pyx_int_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_int_10);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_int_10);\n",
       "  <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_7, 1, __pyx_int_10);\n",
       "  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_int_100);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_int_100);\n",
       "  <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_7, 2, __pyx_int_100);\n",
       "  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_int_1000);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_int_1000);\n",
       "  <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_7, 3, __pyx_int_1000);\n",
       "  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_int_10000);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_int_10000);\n",
       "  <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_7, 4, __pyx_int_10000);\n",
       "  __pyx_t_4 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 14, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_u_i);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_u_i);\n",
       "  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_4, 0, __pyx_n_u_i);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_7);\n",
       "  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_4, 1, __pyx_t_7);\n",
       "  __pyx_t_7 = 0;\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(((PyObject *)__pyx_ptype_7cpython_5array_array), __pyx_t_4, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 14, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  <span class='refnanny'>__Pyx_XGOTREF</span>((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange, ((arrayobject *)__pyx_t_7));\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_7);\n",
       "  __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">15</span>: <span class=\"k\">cdef</span> <span class=\"kt\">long</span> <span class=\"nf\">i</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">16</span>: <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">L</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">17</span>: </pre>\n",
       "<pre class=\"cython line score-52\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">18</span>: <span class=\"k\">for</span> <span class=\"n\">L</span> <span class=\"ow\">in</span> <span class=\"n\">Lrange</span><span class=\"p\">:</span></pre>\n",
       "<pre class='cython code score-52 '>  if (likely(<span class='py_c_api'>PyList_CheckExact</span>(((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange))) || <span class='py_c_api'>PyTuple_CheckExact</span>(((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange))) {\n",
       "    __pyx_t_7 = ((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_7); __pyx_t_9 = 0;\n",
       "    __pyx_t_10 = NULL;\n",
       "  } else {\n",
       "    __pyx_t_9 = -1; __pyx_t_7 = <span class='py_c_api'>PyObject_GetIter</span>(((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange));<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 18, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "    __pyx_t_10 = <span class='pyx_c_api'>__Pyx_PyObject_GetIterNextFunc</span>(__pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 18, __pyx_L1_error)</span>\n",
       "  }\n",
       "  for (;;) {\n",
       "    if (likely(!__pyx_t_10)) {\n",
       "      if (likely(<span class='py_c_api'>PyList_CheckExact</span>(__pyx_t_7))) {\n",
       "        if (__pyx_t_9 &gt;= <span class='py_macro_api'>PyList_GET_SIZE</span>(__pyx_t_7)) break;\n",
       "        #if CYTHON_ASSUME_SAFE_MACROS &amp;&amp; !CYTHON_AVOID_BORROWED_REFS\n",
       "        __pyx_t_4 = <span class='py_macro_api'>PyList_GET_ITEM</span>(__pyx_t_7, __pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4); __pyx_t_9++; if (unlikely((0 &lt; 0))) <span class='error_goto'>__PYX_ERR(0, 18, __pyx_L1_error)</span>\n",
       "        #else\n",
       "        __pyx_t_4 = <span class='py_macro_api'>PySequence_ITEM</span>(__pyx_t_7, __pyx_t_9); __pyx_t_9++;<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18, __pyx_L1_error)</span>\n",
       "        <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "        #endif\n",
       "      } else {\n",
       "        if (__pyx_t_9 &gt;= <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_t_7)) break;\n",
       "        #if CYTHON_ASSUME_SAFE_MACROS &amp;&amp; !CYTHON_AVOID_BORROWED_REFS\n",
       "        __pyx_t_4 = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_t_7, __pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4); __pyx_t_9++; if (unlikely((0 &lt; 0))) <span class='error_goto'>__PYX_ERR(0, 18, __pyx_L1_error)</span>\n",
       "        #else\n",
       "        __pyx_t_4 = <span class='py_macro_api'>PySequence_ITEM</span>(__pyx_t_7, __pyx_t_9); __pyx_t_9++;<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 18, __pyx_L1_error)</span>\n",
       "        <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "        #endif\n",
       "      }\n",
       "    } else {\n",
       "      __pyx_t_4 = __pyx_t_10(__pyx_t_7);\n",
       "      if (unlikely(!__pyx_t_4)) {\n",
       "        PyObject* exc_type = <span class='py_c_api'>PyErr_Occurred</span>();\n",
       "        if (exc_type) {\n",
       "          if (likely(<span class='pyx_c_api'>__Pyx_PyErr_GivenExceptionMatches</span>(exc_type, PyExc_StopIteration))) <span class='py_c_api'>PyErr_Clear</span>();\n",
       "          else <span class='error_goto'>__PYX_ERR(0, 18, __pyx_L1_error)</span>\n",
       "        }\n",
       "        break;\n",
       "      }\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    }\n",
       "    __pyx_t_11 = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(__pyx_t_4); if (unlikely((__pyx_t_11 == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 18, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_L = __pyx_t_11;\n",
       "/* … */\n",
       "  }\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-25\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">19</span>:     <span class=\"n\">t1</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"o\">.</span><span class=\"n\">process_time</span><span class=\"p\">()</span></pre>\n",
       "<pre class='cython code score-25 '>    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_5, __pyx_n_s_time);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 19, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_5, __pyx_n_s_process_time);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 19, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = NULL;\n",
       "    __pyx_t_11 = 0;\n",
       "    if (CYTHON_UNPACK_METHODS &amp;&amp; unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_12))) {\n",
       "      __pyx_t_5 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_12);\n",
       "      if (likely(__pyx_t_5)) {\n",
       "        PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_12);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_12, function);\n",
       "        __pyx_t_11 = 1;\n",
       "      }\n",
       "    }\n",
       "    {\n",
       "      PyObject *__pyx_callargs[1] = {__pyx_t_5, };\n",
       "      __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_12, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11);\n",
       "      <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "      if (unlikely(!__pyx_t_4)) <span class='error_goto'>__PYX_ERR(0, 19, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    }\n",
       "    if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_t1, __pyx_t_4) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 19, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">20</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">N</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>    __pyx_t_13 = __pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_N;\n",
       "    __pyx_t_14 = __pyx_t_13;\n",
       "    for (__pyx_t_15 = 0; __pyx_t_15 &lt; __pyx_t_14; __pyx_t_15+=1) {\n",
       "      __pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_i = __pyx_t_15;\n",
       "</pre><pre class=\"cython line score-28\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">21</span>:         <span class=\"n\">a</span> <span class=\"o\">=</span> <span class=\"n\">cvarray</span><span class=\"p\">((</span><span class=\"n\">L</span><span class=\"p\">,),</span><span class=\"n\">sizeof</span><span class=\"p\">(</span><span class=\"n\">double</span><span class=\"p\">),</span><span class=\"s\">&#39;d&#39;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-28 '>      __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_L);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "      __pyx_t_12 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "      <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_4);\n",
       "      <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_12, 0, __pyx_t_4);\n",
       "      __pyx_t_4 = 0;\n",
       "      __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_FromSize_t</span>((sizeof(double)));<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "      __pyx_t_5 = <span class='py_c_api'>PyTuple_New</span>(3);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "      <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_12);\n",
       "      <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 0, __pyx_t_12);\n",
       "      <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_4);\n",
       "      <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 1, __pyx_t_4);\n",
       "      <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_u_d);\n",
       "      <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_u_d);\n",
       "      <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 2, __pyx_n_u_d);\n",
       "      __pyx_t_12 = 0;\n",
       "      __pyx_t_4 = 0;\n",
       "      __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(((PyObject *)__pyx_array_type), __pyx_t_5, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 21, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "      if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_a, __pyx_t_4) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 21, __pyx_L1_error)</span>\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    }\n",
       "</pre><pre class=\"cython line score-25\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">22</span>:     <span class=\"n\">t2</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"o\">.</span><span class=\"n\">process_time</span><span class=\"p\">()</span></pre>\n",
       "<pre class='cython code score-25 '>    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_5, __pyx_n_s_time);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 22, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_5, __pyx_n_s_process_time);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 22, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = NULL;\n",
       "    __pyx_t_11 = 0;\n",
       "    if (CYTHON_UNPACK_METHODS &amp;&amp; unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_12))) {\n",
       "      __pyx_t_5 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_12);\n",
       "      if (likely(__pyx_t_5)) {\n",
       "        PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_12);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_12, function);\n",
       "        __pyx_t_11 = 1;\n",
       "      }\n",
       "    }\n",
       "    {\n",
       "      PyObject *__pyx_callargs[1] = {__pyx_t_5, };\n",
       "      __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_12, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11);\n",
       "      <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "      if (unlikely(!__pyx_t_4)) <span class='error_goto'>__PYX_ERR(0, 22, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    }\n",
       "    if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_t2, __pyx_t_4) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 22, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "</pre><pre class=\"cython line score-54\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">23</span>:     <span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s\">&#39;Elapsed time to make cython array with length of &#39;</span> <span class=\"o\">+</span><span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">L</span><span class=\"p\">)</span><span class=\"o\">+</span><span class=\"s\">&#39; is &#39;</span><span class=\"o\">+</span><span class=\"nb\">str</span><span class=\"p\">((</span><span class=\"n\">t2</span><span class=\"o\">-</span><span class=\"n\">t1</span><span class=\"p\">)</span><span class=\"o\">/</span><span class=\"n\">N</span><span class=\"o\">*</span><span class=\"mf\">1e6</span><span class=\"p\">)</span><span class=\"o\">+</span><span class=\"s\">&#39; us&#39;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-54 '>    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_L);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_kp_u_Elapsed_time_to_make_cython_arra, __pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyUnicode_ConcatInPlace</span>(__pyx_t_4, __pyx_kp_u_is);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_4, __pyx_n_s_t2);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_5, __pyx_n_s_t1);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    __pyx_t_16 = <span class='py_c_api'>PyNumber_Subtract</span>(__pyx_t_4, __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_16);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyInt_From_long</span>(__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_N);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyNumber_Divide</span>(__pyx_t_16, __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_16); __pyx_t_16 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = <span class='py_c_api'>PyNumber_Multiply</span>(__pyx_t_4, __pyx_float_1e6);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_t_12, __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyUnicode_ConcatInPlace</span>(__pyx_t_5, __pyx_kp_u_us);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_builtin_print, __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">24</span>: </pre>\n",
       "<pre class=\"cython line score-52\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">25</span>: <span class=\"k\">for</span> <span class=\"n\">L</span> <span class=\"ow\">in</span> <span class=\"n\">Lrange</span><span class=\"p\">:</span></pre>\n",
       "<pre class='cython code score-52 '>  if (likely(<span class='py_c_api'>PyList_CheckExact</span>(((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange))) || <span class='py_c_api'>PyTuple_CheckExact</span>(((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange))) {\n",
       "    __pyx_t_7 = ((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_7); __pyx_t_9 = 0;\n",
       "    __pyx_t_10 = NULL;\n",
       "  } else {\n",
       "    __pyx_t_9 = -1; __pyx_t_7 = <span class='py_c_api'>PyObject_GetIter</span>(((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange));<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "    __pyx_t_10 = <span class='pyx_c_api'>__Pyx_PyObject_GetIterNextFunc</span>(__pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "  }\n",
       "  for (;;) {\n",
       "    if (likely(!__pyx_t_10)) {\n",
       "      if (likely(<span class='py_c_api'>PyList_CheckExact</span>(__pyx_t_7))) {\n",
       "        if (__pyx_t_9 &gt;= <span class='py_macro_api'>PyList_GET_SIZE</span>(__pyx_t_7)) break;\n",
       "        #if CYTHON_ASSUME_SAFE_MACROS &amp;&amp; !CYTHON_AVOID_BORROWED_REFS\n",
       "        __pyx_t_5 = <span class='py_macro_api'>PyList_GET_ITEM</span>(__pyx_t_7, __pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5); __pyx_t_9++; if (unlikely((0 &lt; 0))) <span class='error_goto'>__PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "        #else\n",
       "        __pyx_t_5 = <span class='py_macro_api'>PySequence_ITEM</span>(__pyx_t_7, __pyx_t_9); __pyx_t_9++;<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "        <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "        #endif\n",
       "      } else {\n",
       "        if (__pyx_t_9 &gt;= <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_t_7)) break;\n",
       "        #if CYTHON_ASSUME_SAFE_MACROS &amp;&amp; !CYTHON_AVOID_BORROWED_REFS\n",
       "        __pyx_t_5 = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_t_7, __pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5); __pyx_t_9++; if (unlikely((0 &lt; 0))) <span class='error_goto'>__PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "        #else\n",
       "        __pyx_t_5 = <span class='py_macro_api'>PySequence_ITEM</span>(__pyx_t_7, __pyx_t_9); __pyx_t_9++;<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "        <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "        #endif\n",
       "      }\n",
       "    } else {\n",
       "      __pyx_t_5 = __pyx_t_10(__pyx_t_7);\n",
       "      if (unlikely(!__pyx_t_5)) {\n",
       "        PyObject* exc_type = <span class='py_c_api'>PyErr_Occurred</span>();\n",
       "        if (exc_type) {\n",
       "          if (likely(<span class='pyx_c_api'>__Pyx_PyErr_GivenExceptionMatches</span>(exc_type, PyExc_StopIteration))) <span class='py_c_api'>PyErr_Clear</span>();\n",
       "          else <span class='error_goto'>__PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "        }\n",
       "        break;\n",
       "      }\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    }\n",
       "    __pyx_t_11 = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(__pyx_t_5); if (unlikely((__pyx_t_11 == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_L = __pyx_t_11;\n",
       "/* … */\n",
       "  }\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-25\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">26</span>:     <span class=\"n\">t1</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"o\">.</span><span class=\"n\">process_time</span><span class=\"p\">()</span></pre>\n",
       "<pre class='cython code score-25 '>    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_4, __pyx_n_s_time);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 26, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_4, __pyx_n_s_process_time);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 26, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = NULL;\n",
       "    __pyx_t_11 = 0;\n",
       "    if (CYTHON_UNPACK_METHODS &amp;&amp; unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_12))) {\n",
       "      __pyx_t_4 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_12);\n",
       "      if (likely(__pyx_t_4)) {\n",
       "        PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_12);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_12, function);\n",
       "        __pyx_t_11 = 1;\n",
       "      }\n",
       "    }\n",
       "    {\n",
       "      PyObject *__pyx_callargs[1] = {__pyx_t_4, };\n",
       "      __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_12, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11);\n",
       "      <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "      if (unlikely(!__pyx_t_5)) <span class='error_goto'>__PYX_ERR(0, 26, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    }\n",
       "    if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_t1, __pyx_t_5) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 26, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">27</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">N</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>    __pyx_t_13 = __pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_N;\n",
       "    __pyx_t_14 = __pyx_t_13;\n",
       "    for (__pyx_t_15 = 0; __pyx_t_15 &lt; __pyx_t_14; __pyx_t_15+=1) {\n",
       "      __pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_i = __pyx_t_15;\n",
       "</pre><pre class=\"cython line score-28\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">28</span>:         <span class=\"n\">a</span> <span class=\"o\">=</span> <span class=\"n\">np</span><span class=\"o\">.</span><span class=\"n\">arange</span><span class=\"p\">(</span><span class=\"n\">L</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-28 '>      <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_12, __pyx_n_s_np);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 28, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "      __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_12, __pyx_n_s_arange);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 28, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "      __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_L);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 28, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "      __pyx_t_16 = NULL;\n",
       "      __pyx_t_11 = 0;\n",
       "      if (CYTHON_UNPACK_METHODS &amp;&amp; unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_4))) {\n",
       "        __pyx_t_16 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_4);\n",
       "        if (likely(__pyx_t_16)) {\n",
       "          PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_4);\n",
       "          <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_16);\n",
       "          <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "          <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_4, function);\n",
       "          __pyx_t_11 = 1;\n",
       "        }\n",
       "      }\n",
       "      {\n",
       "        PyObject *__pyx_callargs[2] = {__pyx_t_16, __pyx_t_12};\n",
       "        __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 1+__pyx_t_11);\n",
       "        <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_16); __pyx_t_16 = 0;\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "        if (unlikely(!__pyx_t_5)) <span class='error_goto'>__PYX_ERR(0, 28, __pyx_L1_error)</span>\n",
       "        <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "      }\n",
       "      if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_a, __pyx_t_5) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 28, __pyx_L1_error)</span>\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    }\n",
       "</pre><pre class=\"cython line score-25\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">29</span>:     <span class=\"n\">t2</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"o\">.</span><span class=\"n\">process_time</span><span class=\"p\">()</span></pre>\n",
       "<pre class='cython code score-25 '>    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_4, __pyx_n_s_time);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 29, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_4, __pyx_n_s_process_time);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 29, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = NULL;\n",
       "    __pyx_t_11 = 0;\n",
       "    if (CYTHON_UNPACK_METHODS &amp;&amp; unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_12))) {\n",
       "      __pyx_t_4 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_12);\n",
       "      if (likely(__pyx_t_4)) {\n",
       "        PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_12);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_12, function);\n",
       "        __pyx_t_11 = 1;\n",
       "      }\n",
       "    }\n",
       "    {\n",
       "      PyObject *__pyx_callargs[1] = {__pyx_t_4, };\n",
       "      __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_12, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11);\n",
       "      <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "      if (unlikely(!__pyx_t_5)) <span class='error_goto'>__PYX_ERR(0, 29, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    }\n",
       "    if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_t2, __pyx_t_5) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 29, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "</pre><pre class=\"cython line score-54\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">30</span>:     <span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s\">&#39;Elapsed time to make numpy array with length of &#39;</span> <span class=\"o\">+</span><span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">L</span><span class=\"p\">)</span><span class=\"o\">+</span><span class=\"s\">&#39; is &#39;</span><span class=\"o\">+</span><span class=\"nb\">str</span><span class=\"p\">((</span><span class=\"n\">t2</span><span class=\"o\">-</span><span class=\"n\">t1</span><span class=\"p\">)</span><span class=\"o\">/</span><span class=\"n\">N</span><span class=\"o\">*</span><span class=\"mf\">1e6</span><span class=\"p\">)</span><span class=\"o\">+</span><span class=\"s\">&#39; us&#39;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-54 '>    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_L);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 30, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 30, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_kp_u_Elapsed_time_to_make_numpy_array, __pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 30, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyUnicode_ConcatInPlace</span>(__pyx_t_5, __pyx_kp_u_is);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 30, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_5, __pyx_n_s_t2);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 30, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_4, __pyx_n_s_t1);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    __pyx_t_16 = <span class='py_c_api'>PyNumber_Subtract</span>(__pyx_t_5, __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 30, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_16);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_From_long</span>(__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_N);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyNumber_Divide</span>(__pyx_t_16, __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 30, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_16); __pyx_t_16 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='py_c_api'>PyNumber_Multiply</span>(__pyx_t_5, __pyx_float_1e6);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 30, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_t_12, __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyUnicode_ConcatInPlace</span>(__pyx_t_4, __pyx_kp_u_us);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 30, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_builtin_print, __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 30, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">31</span>: </pre>\n",
       "<pre class=\"cython line score-52\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">32</span>: <span class=\"k\">for</span> <span class=\"n\">L</span> <span class=\"ow\">in</span> <span class=\"n\">Lrange</span><span class=\"p\">:</span></pre>\n",
       "<pre class='cython code score-52 '>  if (likely(<span class='py_c_api'>PyList_CheckExact</span>(((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange))) || <span class='py_c_api'>PyTuple_CheckExact</span>(((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange))) {\n",
       "    __pyx_t_7 = ((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_7); __pyx_t_9 = 0;\n",
       "    __pyx_t_10 = NULL;\n",
       "  } else {\n",
       "    __pyx_t_9 = -1; __pyx_t_7 = <span class='py_c_api'>PyObject_GetIter</span>(((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange));<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "    __pyx_t_10 = <span class='pyx_c_api'>__Pyx_PyObject_GetIterNextFunc</span>(__pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 32, __pyx_L1_error)</span>\n",
       "  }\n",
       "  for (;;) {\n",
       "    if (likely(!__pyx_t_10)) {\n",
       "      if (likely(<span class='py_c_api'>PyList_CheckExact</span>(__pyx_t_7))) {\n",
       "        if (__pyx_t_9 &gt;= <span class='py_macro_api'>PyList_GET_SIZE</span>(__pyx_t_7)) break;\n",
       "        #if CYTHON_ASSUME_SAFE_MACROS &amp;&amp; !CYTHON_AVOID_BORROWED_REFS\n",
       "        __pyx_t_4 = <span class='py_macro_api'>PyList_GET_ITEM</span>(__pyx_t_7, __pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4); __pyx_t_9++; if (unlikely((0 &lt; 0))) <span class='error_goto'>__PYX_ERR(0, 32, __pyx_L1_error)</span>\n",
       "        #else\n",
       "        __pyx_t_4 = <span class='py_macro_api'>PySequence_ITEM</span>(__pyx_t_7, __pyx_t_9); __pyx_t_9++;<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32, __pyx_L1_error)</span>\n",
       "        <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "        #endif\n",
       "      } else {\n",
       "        if (__pyx_t_9 &gt;= <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_t_7)) break;\n",
       "        #if CYTHON_ASSUME_SAFE_MACROS &amp;&amp; !CYTHON_AVOID_BORROWED_REFS\n",
       "        __pyx_t_4 = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_t_7, __pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4); __pyx_t_9++; if (unlikely((0 &lt; 0))) <span class='error_goto'>__PYX_ERR(0, 32, __pyx_L1_error)</span>\n",
       "        #else\n",
       "        __pyx_t_4 = <span class='py_macro_api'>PySequence_ITEM</span>(__pyx_t_7, __pyx_t_9); __pyx_t_9++;<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 32, __pyx_L1_error)</span>\n",
       "        <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "        #endif\n",
       "      }\n",
       "    } else {\n",
       "      __pyx_t_4 = __pyx_t_10(__pyx_t_7);\n",
       "      if (unlikely(!__pyx_t_4)) {\n",
       "        PyObject* exc_type = <span class='py_c_api'>PyErr_Occurred</span>();\n",
       "        if (exc_type) {\n",
       "          if (likely(<span class='pyx_c_api'>__Pyx_PyErr_GivenExceptionMatches</span>(exc_type, PyExc_StopIteration))) <span class='py_c_api'>PyErr_Clear</span>();\n",
       "          else <span class='error_goto'>__PYX_ERR(0, 32, __pyx_L1_error)</span>\n",
       "        }\n",
       "        break;\n",
       "      }\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    }\n",
       "    __pyx_t_11 = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(__pyx_t_4); if (unlikely((__pyx_t_11 == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 32, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_L = __pyx_t_11;\n",
       "/* … */\n",
       "  }\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-25\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">33</span>:     <span class=\"n\">t1</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"o\">.</span><span class=\"n\">process_time</span><span class=\"p\">()</span></pre>\n",
       "<pre class='cython code score-25 '>    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_5, __pyx_n_s_time);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 33, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_5, __pyx_n_s_process_time);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 33, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = NULL;\n",
       "    __pyx_t_11 = 0;\n",
       "    if (CYTHON_UNPACK_METHODS &amp;&amp; unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_12))) {\n",
       "      __pyx_t_5 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_12);\n",
       "      if (likely(__pyx_t_5)) {\n",
       "        PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_12);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_12, function);\n",
       "        __pyx_t_11 = 1;\n",
       "      }\n",
       "    }\n",
       "    {\n",
       "      PyObject *__pyx_callargs[1] = {__pyx_t_5, };\n",
       "      __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_12, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11);\n",
       "      <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "      if (unlikely(!__pyx_t_4)) <span class='error_goto'>__PYX_ERR(0, 33, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    }\n",
       "    if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_t1, __pyx_t_4) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 33, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">34</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">N</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>    __pyx_t_13 = __pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_N;\n",
       "    __pyx_t_14 = __pyx_t_13;\n",
       "    for (__pyx_t_15 = 0; __pyx_t_15 &lt; __pyx_t_14; __pyx_t_15+=1) {\n",
       "      __pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_i = __pyx_t_15;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">35</span>:         <span class=\"n\">ptr</span> <span class=\"o\">=</span> <span class=\"o\">&lt;</span><span class=\"n\">double</span><span class=\"o\">*&gt;</span> <span class=\"n\">malloc</span><span class=\"p\">(</span><span class=\"n\">sizeof</span><span class=\"p\">(</span><span class=\"n\">double</span><span class=\"p\">)</span> <span class=\"o\">*</span> <span class=\"n\">L</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-0 '>      __pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_ptr = ((double *)malloc(((sizeof(double)) * __pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_L)));\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">36</span>:         <span class=\"n\">free</span><span class=\"p\">(</span><span class=\"n\">ptr</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-0 '>      free(__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_ptr);\n",
       "    }\n",
       "</pre><pre class=\"cython line score-25\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">37</span>:     <span class=\"n\">t2</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"o\">.</span><span class=\"n\">process_time</span><span class=\"p\">()</span></pre>\n",
       "<pre class='cython code score-25 '>    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_12, __pyx_n_s_time);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 37, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_12, __pyx_n_s_process_time);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 37, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_t_12 = NULL;\n",
       "    __pyx_t_11 = 0;\n",
       "    if (CYTHON_UNPACK_METHODS &amp;&amp; unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_5))) {\n",
       "      __pyx_t_12 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_5);\n",
       "      if (likely(__pyx_t_12)) {\n",
       "        PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_5);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_12);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_5, function);\n",
       "        __pyx_t_11 = 1;\n",
       "      }\n",
       "    }\n",
       "    {\n",
       "      PyObject *__pyx_callargs[1] = {__pyx_t_12, };\n",
       "      __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11);\n",
       "      <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "      if (unlikely(!__pyx_t_4)) <span class='error_goto'>__PYX_ERR(0, 37, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    }\n",
       "    if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_t2, __pyx_t_4) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 37, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "</pre><pre class=\"cython line score-54\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">38</span>:     <span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s\">&#39;Elapsed time with raw c-allocation with length of &#39;</span> <span class=\"o\">+</span><span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">L</span><span class=\"p\">)</span><span class=\"o\">+</span><span class=\"s\">&#39; is &#39;</span><span class=\"o\">+</span><span class=\"nb\">str</span><span class=\"p\">((</span><span class=\"n\">t2</span><span class=\"o\">-</span><span class=\"n\">t1</span><span class=\"p\">)</span><span class=\"o\">/</span><span class=\"n\">N</span><span class=\"o\">*</span><span class=\"mf\">1e6</span><span class=\"p\">)</span><span class=\"o\">+</span><span class=\"s\">&#39; us&#39;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-54 '>    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_L);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_kp_u_Elapsed_time_with_raw_c_allocati, __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyUnicode_ConcatInPlace</span>(__pyx_t_4, __pyx_kp_u_is);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 38, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_4, __pyx_n_s_t2);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_12, __pyx_n_s_t1);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 38, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    __pyx_t_16 = <span class='py_c_api'>PyNumber_Subtract</span>(__pyx_t_4, __pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 38, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_16);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyInt_From_long</span>(__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_N);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 38, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyNumber_Divide</span>(__pyx_t_16, __pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_16); __pyx_t_16 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_t_12 = <span class='py_c_api'>PyNumber_Multiply</span>(__pyx_t_4, __pyx_float_1e6);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 38, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_t_12 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_t_5, __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 38, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyUnicode_ConcatInPlace</span>(__pyx_t_12, __pyx_kp_u_us);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 38, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_builtin_print, __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 38, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">39</span>: </pre>\n",
       "<pre class=\"cython line score-3\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">40</span>: <span class=\"k\">cdef</span> <span class=\"kt\">array</span>.<span class=\"kt\">array</span> <span class=\"nf\">ar</span><span class=\"p\">,</span> <span class=\"nf\">template</span> <span class=\"o\">=</span> <span class=\"n\">array</span><span class=\"o\">.</span><span class=\"n\">array</span><span class=\"p\">(</span><span class=\"s\">&#39;d&#39;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-3 '>  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(((PyObject *)__pyx_ptype_7cpython_5array_array), __pyx_tuple__22, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 40, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='refnanny'>__Pyx_XGOTREF</span>((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_template);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_template, ((arrayobject *)__pyx_t_7));\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_7);\n",
       "  __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-52\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">41</span>: <span class=\"k\">for</span> <span class=\"n\">L</span> <span class=\"ow\">in</span> <span class=\"n\">Lrange</span><span class=\"p\">:</span></pre>\n",
       "<pre class='cython code score-52 '>  if (likely(<span class='py_c_api'>PyList_CheckExact</span>(((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange))) || <span class='py_c_api'>PyTuple_CheckExact</span>(((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange))) {\n",
       "    __pyx_t_7 = ((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_7); __pyx_t_9 = 0;\n",
       "    __pyx_t_10 = NULL;\n",
       "  } else {\n",
       "    __pyx_t_9 = -1; __pyx_t_7 = <span class='py_c_api'>PyObject_GetIter</span>(((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_Lrange));<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 41, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "    __pyx_t_10 = <span class='pyx_c_api'>__Pyx_PyObject_GetIterNextFunc</span>(__pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 41, __pyx_L1_error)</span>\n",
       "  }\n",
       "  for (;;) {\n",
       "    if (likely(!__pyx_t_10)) {\n",
       "      if (likely(<span class='py_c_api'>PyList_CheckExact</span>(__pyx_t_7))) {\n",
       "        if (__pyx_t_9 &gt;= <span class='py_macro_api'>PyList_GET_SIZE</span>(__pyx_t_7)) break;\n",
       "        #if CYTHON_ASSUME_SAFE_MACROS &amp;&amp; !CYTHON_AVOID_BORROWED_REFS\n",
       "        __pyx_t_12 = <span class='py_macro_api'>PyList_GET_ITEM</span>(__pyx_t_7, __pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_12); __pyx_t_9++; if (unlikely((0 &lt; 0))) <span class='error_goto'>__PYX_ERR(0, 41, __pyx_L1_error)</span>\n",
       "        #else\n",
       "        __pyx_t_12 = <span class='py_macro_api'>PySequence_ITEM</span>(__pyx_t_7, __pyx_t_9); __pyx_t_9++;<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 41, __pyx_L1_error)</span>\n",
       "        <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "        #endif\n",
       "      } else {\n",
       "        if (__pyx_t_9 &gt;= <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_t_7)) break;\n",
       "        #if CYTHON_ASSUME_SAFE_MACROS &amp;&amp; !CYTHON_AVOID_BORROWED_REFS\n",
       "        __pyx_t_12 = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_t_7, __pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_12); __pyx_t_9++; if (unlikely((0 &lt; 0))) <span class='error_goto'>__PYX_ERR(0, 41, __pyx_L1_error)</span>\n",
       "        #else\n",
       "        __pyx_t_12 = <span class='py_macro_api'>PySequence_ITEM</span>(__pyx_t_7, __pyx_t_9); __pyx_t_9++;<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 41, __pyx_L1_error)</span>\n",
       "        <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "        #endif\n",
       "      }\n",
       "    } else {\n",
       "      __pyx_t_12 = __pyx_t_10(__pyx_t_7);\n",
       "      if (unlikely(!__pyx_t_12)) {\n",
       "        PyObject* exc_type = <span class='py_c_api'>PyErr_Occurred</span>();\n",
       "        if (exc_type) {\n",
       "          if (likely(<span class='pyx_c_api'>__Pyx_PyErr_GivenExceptionMatches</span>(exc_type, PyExc_StopIteration))) <span class='py_c_api'>PyErr_Clear</span>();\n",
       "          else <span class='error_goto'>__PYX_ERR(0, 41, __pyx_L1_error)</span>\n",
       "        }\n",
       "        break;\n",
       "      }\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    }\n",
       "    __pyx_t_11 = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(__pyx_t_12); if (unlikely((__pyx_t_11 == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 41, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_L = __pyx_t_11;\n",
       "/* … */\n",
       "  }\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-25\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">42</span>:     <span class=\"n\">t1</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"o\">.</span><span class=\"n\">process_time</span><span class=\"p\">()</span></pre>\n",
       "<pre class='cython code score-25 '>    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_4, __pyx_n_s_time);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 42, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_4, __pyx_n_s_process_time);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 42, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = NULL;\n",
       "    __pyx_t_11 = 0;\n",
       "    if (CYTHON_UNPACK_METHODS &amp;&amp; unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_5))) {\n",
       "      __pyx_t_4 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_5);\n",
       "      if (likely(__pyx_t_4)) {\n",
       "        PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_5);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_5, function);\n",
       "        __pyx_t_11 = 1;\n",
       "      }\n",
       "    }\n",
       "    {\n",
       "      PyObject *__pyx_callargs[1] = {__pyx_t_4, };\n",
       "      __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11);\n",
       "      <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "      if (unlikely(!__pyx_t_12)) <span class='error_goto'>__PYX_ERR(0, 42, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    }\n",
       "    if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_t1, __pyx_t_12) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 42, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">43</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">N</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>    __pyx_t_13 = __pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_N;\n",
       "    __pyx_t_14 = __pyx_t_13;\n",
       "    for (__pyx_t_15 = 0; __pyx_t_15 &lt; __pyx_t_14; __pyx_t_15+=1) {\n",
       "      __pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_i = __pyx_t_15;\n",
       "</pre><pre class=\"cython line score-3\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">44</span>:         <span class=\"n\">ar</span> <span class=\"o\">=</span> <span class=\"n\">array</span><span class=\"o\">.</span><span class=\"n\">clone</span><span class=\"p\">(</span><span class=\"n\">template</span><span class=\"p\">,</span> <span class=\"n\">L</span><span class=\"p\">,</span> <span class=\"bp\">False</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-3 '>      __pyx_t_12 = ((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_template);\n",
       "      <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_12);\n",
       "      __pyx_t_5 = ((PyObject *)__pyx_f_7cpython_5array_clone(((arrayobject *)__pyx_t_12), __pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_L, 0));<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 44, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "      <span class='refnanny'>__Pyx_XGOTREF</span>((PyObject *)__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_ar);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_ar, ((arrayobject *)__pyx_t_5));\n",
       "      <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_5);\n",
       "      __pyx_t_5 = 0;\n",
       "    }\n",
       "</pre><pre class=\"cython line score-25\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">45</span>:     <span class=\"n\">t2</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"o\">.</span><span class=\"n\">process_time</span><span class=\"p\">()</span></pre>\n",
       "<pre class='cython code score-25 '>    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_12, __pyx_n_s_time);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 45, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_12, __pyx_n_s_process_time);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 45, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_t_12 = NULL;\n",
       "    __pyx_t_11 = 0;\n",
       "    if (CYTHON_UNPACK_METHODS &amp;&amp; unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_4))) {\n",
       "      __pyx_t_12 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_4);\n",
       "      if (likely(__pyx_t_12)) {\n",
       "        PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_4);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_12);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_4, function);\n",
       "        __pyx_t_11 = 1;\n",
       "      }\n",
       "    }\n",
       "    {\n",
       "      PyObject *__pyx_callargs[1] = {__pyx_t_12, };\n",
       "      __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_4, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11);\n",
       "      <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "      if (unlikely(!__pyx_t_5)) <span class='error_goto'>__PYX_ERR(0, 45, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    }\n",
       "    if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_t2, __pyx_t_5) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 45, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "</pre><pre class=\"cython line score-54\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">46</span>:     <span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s\">&#39;Elapsed time to make cpython array with length of &#39;</span> <span class=\"o\">+</span><span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">L</span><span class=\"p\">)</span><span class=\"o\">+</span><span class=\"s\">&#39; is &#39;</span><span class=\"o\">+</span><span class=\"nb\">str</span><span class=\"p\">((</span><span class=\"n\">t2</span><span class=\"o\">-</span><span class=\"n\">t1</span><span class=\"p\">)</span><span class=\"o\">/</span><span class=\"n\">N</span><span class=\"o\">*</span><span class=\"mf\">1e6</span><span class=\"p\">)</span><span class=\"o\">+</span><span class=\"s\">&#39; us&#39;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-54 '>    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_L);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_kp_u_Elapsed_time_to_make_cpython_arr, __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyUnicode_ConcatInPlace</span>(__pyx_t_5, __pyx_kp_u_is);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_5, __pyx_n_s_t2);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_12, __pyx_n_s_t1);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 46, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    __pyx_t_16 = <span class='py_c_api'>PyNumber_Subtract</span>(__pyx_t_5, __pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 46, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_16);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyInt_From_long</span>(__pyx_v_54_cython_magic_ddf18ad79e6689df9f858553ec538a23e234430a_N);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 46, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyNumber_Divide</span>(__pyx_t_16, __pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_16); __pyx_t_16 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_t_12 = <span class='py_c_api'>PyNumber_Multiply</span>(__pyx_t_5, __pyx_float_1e6);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 46, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_t_12 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_t_4, __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 46, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyUnicode_ConcatInPlace</span>(__pyx_t_12, __pyx_kp_u_us);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_builtin_print, __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 46, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">47</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">48</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">49</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">50</span>: <span class=\"c\">#TODO: C array https://cython.readthedocs.io/en/latest/src/userguide/memoryviews.html#quickstart</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">51</span>: <span class=\"c\">#for L in [1,10,100,1000,10000]:</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">52</span>: <span class=\"c\">#    t1 = time.process_time()</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">53</span>: <span class=\"c\">#    for i in range(N):</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">54</span>: <span class=\"c\">#        cdef double[L] arc</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">55</span>: <span class=\"c\">#    t2 = time.process_time()</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">56</span>: <span class=\"c\">#    print(&#39;Elapsed time to make c array with length of &#39; +str(L)+&#39; is &#39;+str((t2-t1)/N*1e6)+&#39; us&#39;)</span></pre>\n",
       "</div></body></html>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%cython --annotate\n",
    "\n",
    "from cython.view cimport array as cvarray\n",
    "import time\n",
    "\n",
    "import numpy as np\n",
    "cimport numpy as np\n",
    "\n",
    "from cpython cimport array\n",
    "from libc.stdlib cimport malloc, free\n",
    "\n",
    "cdef double* ptr\n",
    "\n",
    "cdef long N = 1000000\n",
    "cdef array.array Lrange = array.array('i', [1,10,100,1000,10000])\n",
    "cdef long i\n",
    "cdef int L\n",
    "\n",
    "for L in Lrange:\n",
    "    t1 = time.process_time()\n",
    "    for i in range(N):\n",
    "        a = cvarray((L,),sizeof(double),'d')\n",
    "    t2 = time.process_time()\n",
    "    print('Elapsed time to make cython array with length of ' +str(L)+' is '+str((t2-t1)/N*1e6)+' us')\n",
    "\n",
    "for L in Lrange:\n",
    "    t1 = time.process_time()\n",
    "    for i in range(N):\n",
    "        a = np.arange(L)\n",
    "    t2 = time.process_time()\n",
    "    print('Elapsed time to make numpy array with length of ' +str(L)+' is '+str((t2-t1)/N*1e6)+' us')\n",
    "\n",
    "for L in Lrange:\n",
    "    t1 = time.process_time()\n",
    "    for i in range(N):\n",
    "        ptr = <double*> malloc(sizeof(double) * L)\n",
    "        free(ptr)\n",
    "    t2 = time.process_time()\n",
    "    print('Elapsed time with raw c-allocation with length of ' +str(L)+' is '+str((t2-t1)/N*1e6)+' us')\n",
    "\n",
    "cdef array.array ar, template = array.array('d')\n",
    "for L in Lrange:\n",
    "    t1 = time.process_time()\n",
    "    for i in range(N):\n",
    "        ar = array.clone(template, L, False)\n",
    "    t2 = time.process_time()\n",
    "    print('Elapsed time to make cpython array with length of ' +str(L)+' is '+str((t2-t1)/N*1e6)+' us')\n",
    "\n",
    "\n",
    "\n",
    "#TODO: C array https://cython.readthedocs.io/en/latest/src/userguide/memoryviews.html#quickstart\n",
    "#for L in [1,10,100,1000,10000]:\n",
    "#    t1 = time.process_time()\n",
    "#    for i in range(N):\n",
    "#        cdef double[L] arc\n",
    "#    t2 = time.process_time()\n",
    "#    print('Elapsed time to make c array with length of ' +str(L)+' is '+str((t2-t1)/N*1e6)+' us')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "e7e96688",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<!DOCTYPE html>\n",
       "<!-- Generated by Cython 3.0.0b2 -->\n",
       "<html>\n",
       "<head>\n",
       "    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n",
       "    <title>Cython: _cython_magic_5df2057855ef15c3c147680da8319eb4039c6952.pyx</title>\n",
       "    <style type=\"text/css\">\n",
       "    \n",
       "body.cython { font-family: courier; font-size: 12; }\n",
       "\n",
       ".cython.tag  {  }\n",
       ".cython.line { color: #000000; margin: 0em }\n",
       ".cython.code { font-size: 9; color: #444444; display: none; margin: 0px 0px 0px 8px; border-left: 8px none; }\n",
       "\n",
       ".cython.line .run { background-color: #B0FFB0; }\n",
       ".cython.line .mis { background-color: #FFB0B0; }\n",
       ".cython.code.run  { border-left: 8px solid #B0FFB0; }\n",
       ".cython.code.mis  { border-left: 8px solid #FFB0B0; }\n",
       "\n",
       ".cython.code .py_c_api  { color: red; }\n",
       ".cython.code .py_macro_api  { color: #FF7000; }\n",
       ".cython.code .pyx_c_api  { color: #FF3000; }\n",
       ".cython.code .pyx_macro_api  { color: #FF7000; }\n",
       ".cython.code .refnanny  { color: #FFA000; }\n",
       ".cython.code .trace  { color: #FFA000; }\n",
       ".cython.code .error_goto  { color: #FFA000; }\n",
       "\n",
       ".cython.code .coerce  { color: #008000; border: 1px dotted #008000 }\n",
       ".cython.code .py_attr { color: #FF0000; font-weight: bold; }\n",
       ".cython.code .c_attr  { color: #0000FF; }\n",
       ".cython.code .py_call { color: #FF0000; font-weight: bold; }\n",
       ".cython.code .c_call  { color: #0000FF; }\n",
       "\n",
       ".cython.score-0 {background-color: #FFFFff;}\n",
       ".cython.score-1 {background-color: #FFFFe7;}\n",
       ".cython.score-2 {background-color: #FFFFd4;}\n",
       ".cython.score-3 {background-color: #FFFFc4;}\n",
       ".cython.score-4 {background-color: #FFFFb6;}\n",
       ".cython.score-5 {background-color: #FFFFaa;}\n",
       ".cython.score-6 {background-color: #FFFF9f;}\n",
       ".cython.score-7 {background-color: #FFFF96;}\n",
       ".cython.score-8 {background-color: #FFFF8d;}\n",
       ".cython.score-9 {background-color: #FFFF86;}\n",
       ".cython.score-10 {background-color: #FFFF7f;}\n",
       ".cython.score-11 {background-color: #FFFF79;}\n",
       ".cython.score-12 {background-color: #FFFF73;}\n",
       ".cython.score-13 {background-color: #FFFF6e;}\n",
       ".cython.score-14 {background-color: #FFFF6a;}\n",
       ".cython.score-15 {background-color: #FFFF66;}\n",
       ".cython.score-16 {background-color: #FFFF62;}\n",
       ".cython.score-17 {background-color: #FFFF5e;}\n",
       ".cython.score-18 {background-color: #FFFF5b;}\n",
       ".cython.score-19 {background-color: #FFFF57;}\n",
       ".cython.score-20 {background-color: #FFFF55;}\n",
       ".cython.score-21 {background-color: #FFFF52;}\n",
       ".cython.score-22 {background-color: #FFFF4f;}\n",
       ".cython.score-23 {background-color: #FFFF4d;}\n",
       ".cython.score-24 {background-color: #FFFF4b;}\n",
       ".cython.score-25 {background-color: #FFFF48;}\n",
       ".cython.score-26 {background-color: #FFFF46;}\n",
       ".cython.score-27 {background-color: #FFFF44;}\n",
       ".cython.score-28 {background-color: #FFFF43;}\n",
       ".cython.score-29 {background-color: #FFFF41;}\n",
       ".cython.score-30 {background-color: #FFFF3f;}\n",
       ".cython.score-31 {background-color: #FFFF3e;}\n",
       ".cython.score-32 {background-color: #FFFF3c;}\n",
       ".cython.score-33 {background-color: #FFFF3b;}\n",
       ".cython.score-34 {background-color: #FFFF39;}\n",
       ".cython.score-35 {background-color: #FFFF38;}\n",
       ".cython.score-36 {background-color: #FFFF37;}\n",
       ".cython.score-37 {background-color: #FFFF36;}\n",
       ".cython.score-38 {background-color: #FFFF35;}\n",
       ".cython.score-39 {background-color: #FFFF34;}\n",
       ".cython.score-40 {background-color: #FFFF33;}\n",
       ".cython.score-41 {background-color: #FFFF32;}\n",
       ".cython.score-42 {background-color: #FFFF31;}\n",
       ".cython.score-43 {background-color: #FFFF30;}\n",
       ".cython.score-44 {background-color: #FFFF2f;}\n",
       ".cython.score-45 {background-color: #FFFF2e;}\n",
       ".cython.score-46 {background-color: #FFFF2d;}\n",
       ".cython.score-47 {background-color: #FFFF2c;}\n",
       ".cython.score-48 {background-color: #FFFF2b;}\n",
       ".cython.score-49 {background-color: #FFFF2b;}\n",
       ".cython.score-50 {background-color: #FFFF2a;}\n",
       ".cython.score-51 {background-color: #FFFF29;}\n",
       ".cython.score-52 {background-color: #FFFF29;}\n",
       ".cython.score-53 {background-color: #FFFF28;}\n",
       ".cython.score-54 {background-color: #FFFF27;}\n",
       ".cython.score-55 {background-color: #FFFF27;}\n",
       ".cython.score-56 {background-color: #FFFF26;}\n",
       ".cython.score-57 {background-color: #FFFF26;}\n",
       ".cython.score-58 {background-color: #FFFF25;}\n",
       ".cython.score-59 {background-color: #FFFF24;}\n",
       ".cython.score-60 {background-color: #FFFF24;}\n",
       ".cython.score-61 {background-color: #FFFF23;}\n",
       ".cython.score-62 {background-color: #FFFF23;}\n",
       ".cython.score-63 {background-color: #FFFF22;}\n",
       ".cython.score-64 {background-color: #FFFF22;}\n",
       ".cython.score-65 {background-color: #FFFF22;}\n",
       ".cython.score-66 {background-color: #FFFF21;}\n",
       ".cython.score-67 {background-color: #FFFF21;}\n",
       ".cython.score-68 {background-color: #FFFF20;}\n",
       ".cython.score-69 {background-color: #FFFF20;}\n",
       ".cython.score-70 {background-color: #FFFF1f;}\n",
       ".cython.score-71 {background-color: #FFFF1f;}\n",
       ".cython.score-72 {background-color: #FFFF1f;}\n",
       ".cython.score-73 {background-color: #FFFF1e;}\n",
       ".cython.score-74 {background-color: #FFFF1e;}\n",
       ".cython.score-75 {background-color: #FFFF1e;}\n",
       ".cython.score-76 {background-color: #FFFF1d;}\n",
       ".cython.score-77 {background-color: #FFFF1d;}\n",
       ".cython.score-78 {background-color: #FFFF1c;}\n",
       ".cython.score-79 {background-color: #FFFF1c;}\n",
       ".cython.score-80 {background-color: #FFFF1c;}\n",
       ".cython.score-81 {background-color: #FFFF1c;}\n",
       ".cython.score-82 {background-color: #FFFF1b;}\n",
       ".cython.score-83 {background-color: #FFFF1b;}\n",
       ".cython.score-84 {background-color: #FFFF1b;}\n",
       ".cython.score-85 {background-color: #FFFF1a;}\n",
       ".cython.score-86 {background-color: #FFFF1a;}\n",
       ".cython.score-87 {background-color: #FFFF1a;}\n",
       ".cython.score-88 {background-color: #FFFF1a;}\n",
       ".cython.score-89 {background-color: #FFFF19;}\n",
       ".cython.score-90 {background-color: #FFFF19;}\n",
       ".cython.score-91 {background-color: #FFFF19;}\n",
       ".cython.score-92 {background-color: #FFFF19;}\n",
       ".cython.score-93 {background-color: #FFFF18;}\n",
       ".cython.score-94 {background-color: #FFFF18;}\n",
       ".cython.score-95 {background-color: #FFFF18;}\n",
       ".cython.score-96 {background-color: #FFFF18;}\n",
       ".cython.score-97 {background-color: #FFFF17;}\n",
       ".cython.score-98 {background-color: #FFFF17;}\n",
       ".cython.score-99 {background-color: #FFFF17;}\n",
       ".cython.score-100 {background-color: #FFFF17;}\n",
       ".cython.score-101 {background-color: #FFFF16;}\n",
       ".cython.score-102 {background-color: #FFFF16;}\n",
       ".cython.score-103 {background-color: #FFFF16;}\n",
       ".cython.score-104 {background-color: #FFFF16;}\n",
       ".cython.score-105 {background-color: #FFFF16;}\n",
       ".cython.score-106 {background-color: #FFFF15;}\n",
       ".cython.score-107 {background-color: #FFFF15;}\n",
       ".cython.score-108 {background-color: #FFFF15;}\n",
       ".cython.score-109 {background-color: #FFFF15;}\n",
       ".cython.score-110 {background-color: #FFFF15;}\n",
       ".cython.score-111 {background-color: #FFFF15;}\n",
       ".cython.score-112 {background-color: #FFFF14;}\n",
       ".cython.score-113 {background-color: #FFFF14;}\n",
       ".cython.score-114 {background-color: #FFFF14;}\n",
       ".cython.score-115 {background-color: #FFFF14;}\n",
       ".cython.score-116 {background-color: #FFFF14;}\n",
       ".cython.score-117 {background-color: #FFFF14;}\n",
       ".cython.score-118 {background-color: #FFFF13;}\n",
       ".cython.score-119 {background-color: #FFFF13;}\n",
       ".cython.score-120 {background-color: #FFFF13;}\n",
       ".cython.score-121 {background-color: #FFFF13;}\n",
       ".cython.score-122 {background-color: #FFFF13;}\n",
       ".cython.score-123 {background-color: #FFFF13;}\n",
       ".cython.score-124 {background-color: #FFFF13;}\n",
       ".cython.score-125 {background-color: #FFFF12;}\n",
       ".cython.score-126 {background-color: #FFFF12;}\n",
       ".cython.score-127 {background-color: #FFFF12;}\n",
       ".cython.score-128 {background-color: #FFFF12;}\n",
       ".cython.score-129 {background-color: #FFFF12;}\n",
       ".cython.score-130 {background-color: #FFFF12;}\n",
       ".cython.score-131 {background-color: #FFFF12;}\n",
       ".cython.score-132 {background-color: #FFFF11;}\n",
       ".cython.score-133 {background-color: #FFFF11;}\n",
       ".cython.score-134 {background-color: #FFFF11;}\n",
       ".cython.score-135 {background-color: #FFFF11;}\n",
       ".cython.score-136 {background-color: #FFFF11;}\n",
       ".cython.score-137 {background-color: #FFFF11;}\n",
       ".cython.score-138 {background-color: #FFFF11;}\n",
       ".cython.score-139 {background-color: #FFFF11;}\n",
       ".cython.score-140 {background-color: #FFFF11;}\n",
       ".cython.score-141 {background-color: #FFFF10;}\n",
       ".cython.score-142 {background-color: #FFFF10;}\n",
       ".cython.score-143 {background-color: #FFFF10;}\n",
       ".cython.score-144 {background-color: #FFFF10;}\n",
       ".cython.score-145 {background-color: #FFFF10;}\n",
       ".cython.score-146 {background-color: #FFFF10;}\n",
       ".cython.score-147 {background-color: #FFFF10;}\n",
       ".cython.score-148 {background-color: #FFFF10;}\n",
       ".cython.score-149 {background-color: #FFFF10;}\n",
       ".cython.score-150 {background-color: #FFFF0f;}\n",
       ".cython.score-151 {background-color: #FFFF0f;}\n",
       ".cython.score-152 {background-color: #FFFF0f;}\n",
       ".cython.score-153 {background-color: #FFFF0f;}\n",
       ".cython.score-154 {background-color: #FFFF0f;}\n",
       ".cython.score-155 {background-color: #FFFF0f;}\n",
       ".cython.score-156 {background-color: #FFFF0f;}\n",
       ".cython.score-157 {background-color: #FFFF0f;}\n",
       ".cython.score-158 {background-color: #FFFF0f;}\n",
       ".cython.score-159 {background-color: #FFFF0f;}\n",
       ".cython.score-160 {background-color: #FFFF0f;}\n",
       ".cython.score-161 {background-color: #FFFF0e;}\n",
       ".cython.score-162 {background-color: #FFFF0e;}\n",
       ".cython.score-163 {background-color: #FFFF0e;}\n",
       ".cython.score-164 {background-color: #FFFF0e;}\n",
       ".cython.score-165 {background-color: #FFFF0e;}\n",
       ".cython.score-166 {background-color: #FFFF0e;}\n",
       ".cython.score-167 {background-color: #FFFF0e;}\n",
       ".cython.score-168 {background-color: #FFFF0e;}\n",
       ".cython.score-169 {background-color: #FFFF0e;}\n",
       ".cython.score-170 {background-color: #FFFF0e;}\n",
       ".cython.score-171 {background-color: #FFFF0e;}\n",
       ".cython.score-172 {background-color: #FFFF0e;}\n",
       ".cython.score-173 {background-color: #FFFF0d;}\n",
       ".cython.score-174 {background-color: #FFFF0d;}\n",
       ".cython.score-175 {background-color: #FFFF0d;}\n",
       ".cython.score-176 {background-color: #FFFF0d;}\n",
       ".cython.score-177 {background-color: #FFFF0d;}\n",
       ".cython.score-178 {background-color: #FFFF0d;}\n",
       ".cython.score-179 {background-color: #FFFF0d;}\n",
       ".cython.score-180 {background-color: #FFFF0d;}\n",
       ".cython.score-181 {background-color: #FFFF0d;}\n",
       ".cython.score-182 {background-color: #FFFF0d;}\n",
       ".cython.score-183 {background-color: #FFFF0d;}\n",
       ".cython.score-184 {background-color: #FFFF0d;}\n",
       ".cython.score-185 {background-color: #FFFF0d;}\n",
       ".cython.score-186 {background-color: #FFFF0d;}\n",
       ".cython.score-187 {background-color: #FFFF0c;}\n",
       ".cython.score-188 {background-color: #FFFF0c;}\n",
       ".cython.score-189 {background-color: #FFFF0c;}\n",
       ".cython.score-190 {background-color: #FFFF0c;}\n",
       ".cython.score-191 {background-color: #FFFF0c;}\n",
       ".cython.score-192 {background-color: #FFFF0c;}\n",
       ".cython.score-193 {background-color: #FFFF0c;}\n",
       ".cython.score-194 {background-color: #FFFF0c;}\n",
       ".cython.score-195 {background-color: #FFFF0c;}\n",
       ".cython.score-196 {background-color: #FFFF0c;}\n",
       ".cython.score-197 {background-color: #FFFF0c;}\n",
       ".cython.score-198 {background-color: #FFFF0c;}\n",
       ".cython.score-199 {background-color: #FFFF0c;}\n",
       ".cython.score-200 {background-color: #FFFF0c;}\n",
       ".cython.score-201 {background-color: #FFFF0c;}\n",
       ".cython.score-202 {background-color: #FFFF0c;}\n",
       ".cython.score-203 {background-color: #FFFF0b;}\n",
       ".cython.score-204 {background-color: #FFFF0b;}\n",
       ".cython.score-205 {background-color: #FFFF0b;}\n",
       ".cython.score-206 {background-color: #FFFF0b;}\n",
       ".cython.score-207 {background-color: #FFFF0b;}\n",
       ".cython.score-208 {background-color: #FFFF0b;}\n",
       ".cython.score-209 {background-color: #FFFF0b;}\n",
       ".cython.score-210 {background-color: #FFFF0b;}\n",
       ".cython.score-211 {background-color: #FFFF0b;}\n",
       ".cython.score-212 {background-color: #FFFF0b;}\n",
       ".cython.score-213 {background-color: #FFFF0b;}\n",
       ".cython.score-214 {background-color: #FFFF0b;}\n",
       ".cython.score-215 {background-color: #FFFF0b;}\n",
       ".cython.score-216 {background-color: #FFFF0b;}\n",
       ".cython.score-217 {background-color: #FFFF0b;}\n",
       ".cython.score-218 {background-color: #FFFF0b;}\n",
       ".cython.score-219 {background-color: #FFFF0b;}\n",
       ".cython.score-220 {background-color: #FFFF0b;}\n",
       ".cython.score-221 {background-color: #FFFF0b;}\n",
       ".cython.score-222 {background-color: #FFFF0a;}\n",
       ".cython.score-223 {background-color: #FFFF0a;}\n",
       ".cython.score-224 {background-color: #FFFF0a;}\n",
       ".cython.score-225 {background-color: #FFFF0a;}\n",
       ".cython.score-226 {background-color: #FFFF0a;}\n",
       ".cython.score-227 {background-color: #FFFF0a;}\n",
       ".cython.score-228 {background-color: #FFFF0a;}\n",
       ".cython.score-229 {background-color: #FFFF0a;}\n",
       ".cython.score-230 {background-color: #FFFF0a;}\n",
       ".cython.score-231 {background-color: #FFFF0a;}\n",
       ".cython.score-232 {background-color: #FFFF0a;}\n",
       ".cython.score-233 {background-color: #FFFF0a;}\n",
       ".cython.score-234 {background-color: #FFFF0a;}\n",
       ".cython.score-235 {background-color: #FFFF0a;}\n",
       ".cython.score-236 {background-color: #FFFF0a;}\n",
       ".cython.score-237 {background-color: #FFFF0a;}\n",
       ".cython.score-238 {background-color: #FFFF0a;}\n",
       ".cython.score-239 {background-color: #FFFF0a;}\n",
       ".cython.score-240 {background-color: #FFFF0a;}\n",
       ".cython.score-241 {background-color: #FFFF0a;}\n",
       ".cython.score-242 {background-color: #FFFF0a;}\n",
       ".cython.score-243 {background-color: #FFFF0a;}\n",
       ".cython.score-244 {background-color: #FFFF0a;}\n",
       ".cython.score-245 {background-color: #FFFF0a;}\n",
       ".cython.score-246 {background-color: #FFFF09;}\n",
       ".cython.score-247 {background-color: #FFFF09;}\n",
       ".cython.score-248 {background-color: #FFFF09;}\n",
       ".cython.score-249 {background-color: #FFFF09;}\n",
       ".cython.score-250 {background-color: #FFFF09;}\n",
       ".cython.score-251 {background-color: #FFFF09;}\n",
       ".cython.score-252 {background-color: #FFFF09;}\n",
       ".cython.score-253 {background-color: #FFFF09;}\n",
       ".cython.score-254 {background-color: #FFFF09;}\n",
       "pre { line-height: 125%; }\n",
       "td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n",
       "span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n",
       "td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n",
       "span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n",
       ".cython .hll { background-color: #ffffcc }\n",
       ".cython { background: #f8f8f8; }\n",
       ".cython .c { color: #3D7B7B; font-style: italic } /* Comment */\n",
       ".cython .err { border: 1px solid #FF0000 } /* Error */\n",
       ".cython .k { color: #008000; font-weight: bold } /* Keyword */\n",
       ".cython .o { color: #666666 } /* Operator */\n",
       ".cython .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */\n",
       ".cython .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */\n",
       ".cython .cp { color: #9C6500 } /* Comment.Preproc */\n",
       ".cython .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */\n",
       ".cython .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */\n",
       ".cython .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */\n",
       ".cython .gd { color: #A00000 } /* Generic.Deleted */\n",
       ".cython .ge { font-style: italic } /* Generic.Emph */\n",
       ".cython .gr { color: #E40000 } /* Generic.Error */\n",
       ".cython .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n",
       ".cython .gi { color: #008400 } /* Generic.Inserted */\n",
       ".cython .go { color: #717171 } /* Generic.Output */\n",
       ".cython .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n",
       ".cython .gs { font-weight: bold } /* Generic.Strong */\n",
       ".cython .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n",
       ".cython .gt { color: #0044DD } /* Generic.Traceback */\n",
       ".cython .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n",
       ".cython .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n",
       ".cython .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n",
       ".cython .kp { color: #008000 } /* Keyword.Pseudo */\n",
       ".cython .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n",
       ".cython .kt { color: #B00040 } /* Keyword.Type */\n",
       ".cython .m { color: #666666 } /* Literal.Number */\n",
       ".cython .s { color: #BA2121 } /* Literal.String */\n",
       ".cython .na { color: #687822 } /* Name.Attribute */\n",
       ".cython .nb { color: #008000 } /* Name.Builtin */\n",
       ".cython .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n",
       ".cython .no { color: #880000 } /* Name.Constant */\n",
       ".cython .nd { color: #AA22FF } /* Name.Decorator */\n",
       ".cython .ni { color: #717171; font-weight: bold } /* Name.Entity */\n",
       ".cython .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */\n",
       ".cython .nf { color: #0000FF } /* Name.Function */\n",
       ".cython .nl { color: #767600 } /* Name.Label */\n",
       ".cython .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n",
       ".cython .nt { color: #008000; font-weight: bold } /* Name.Tag */\n",
       ".cython .nv { color: #19177C } /* Name.Variable */\n",
       ".cython .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n",
       ".cython .w { color: #bbbbbb } /* Text.Whitespace */\n",
       ".cython .mb { color: #666666 } /* Literal.Number.Bin */\n",
       ".cython .mf { color: #666666 } /* Literal.Number.Float */\n",
       ".cython .mh { color: #666666 } /* Literal.Number.Hex */\n",
       ".cython .mi { color: #666666 } /* Literal.Number.Integer */\n",
       ".cython .mo { color: #666666 } /* Literal.Number.Oct */\n",
       ".cython .sa { color: #BA2121 } /* Literal.String.Affix */\n",
       ".cython .sb { color: #BA2121 } /* Literal.String.Backtick */\n",
       ".cython .sc { color: #BA2121 } /* Literal.String.Char */\n",
       ".cython .dl { color: #BA2121 } /* Literal.String.Delimiter */\n",
       ".cython .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n",
       ".cython .s2 { color: #BA2121 } /* Literal.String.Double */\n",
       ".cython .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */\n",
       ".cython .sh { color: #BA2121 } /* Literal.String.Heredoc */\n",
       ".cython .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */\n",
       ".cython .sx { color: #008000 } /* Literal.String.Other */\n",
       ".cython .sr { color: #A45A77 } /* Literal.String.Regex */\n",
       ".cython .s1 { color: #BA2121 } /* Literal.String.Single */\n",
       ".cython .ss { color: #19177C } /* Literal.String.Symbol */\n",
       ".cython .bp { color: #008000 } /* Name.Builtin.Pseudo */\n",
       ".cython .fm { color: #0000FF } /* Name.Function.Magic */\n",
       ".cython .vc { color: #19177C } /* Name.Variable.Class */\n",
       ".cython .vg { color: #19177C } /* Name.Variable.Global */\n",
       ".cython .vi { color: #19177C } /* Name.Variable.Instance */\n",
       ".cython .vm { color: #19177C } /* Name.Variable.Magic */\n",
       ".cython .il { color: #666666 } /* Literal.Number.Integer.Long */\n",
       "    </style>\n",
       "</head>\n",
       "<body class=\"cython\">\n",
       "<p><span style=\"border-bottom: solid 1px grey;\">Generated by Cython 3.0.0b2</span></p>\n",
       "<p>\n",
       "    <span style=\"background-color: #FFFF00\">Yellow lines</span> hint at Python interaction.<br />\n",
       "    Click on a line that starts with a \"<code>+</code>\" to see the C code that Cython generated for it.\n",
       "</p>\n",
       "<div class=\"cython\"><pre class=\"cython line score-0\">&#xA0;<span class=\"\">01</span>: </pre>\n",
       "<pre class=\"cython line score-16\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">02</span>: <span class=\"k\">import</span> <span class=\"nn\">time</span></pre>\n",
       "<pre class='cython code score-16 '>  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_ImportDottedModule</span>(__pyx_n_s_time, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_time, __pyx_t_7) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 2, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "/* … */\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyDict_NewPresized</span>(0);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_test, __pyx_t_7) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 2, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">03</span>: <span class=\"k\">from</span> <span class=\"nn\">cython</span> <span class=\"k\">cimport</span> <span class=\"nb\">bytearray</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">04</span>: <span class=\"k\">from</span> <span class=\"nn\">cpython</span> <span class=\"k\">cimport</span> <span class=\"n\">array</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">05</span>: </pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">06</span>: <span class=\"k\">cdef</span> <span class=\"kt\">long</span> <span class=\"nf\">N</span> <span class=\"o\">=</span> <span class=\"mf\">1000000</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_N = 0xF4240;\n",
       "</pre><pre class=\"cython line score-27\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">07</span>: <span class=\"k\">cdef</span> <span class=\"kt\">array</span>.<span class=\"kt\">array</span> <span class=\"nf\">Lrange</span> <span class=\"o\">=</span> <span class=\"n\">array</span><span class=\"o\">.</span><span class=\"n\">array</span><span class=\"p\">(</span><span class=\"s\">&#39;i&#39;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"mf\">1</span><span class=\"p\">,</span><span class=\"mf\">10</span><span class=\"p\">,</span><span class=\"mf\">100</span><span class=\"p\">,</span><span class=\"mf\">1000</span><span class=\"p\">,</span><span class=\"mf\">10000</span><span class=\"p\">])</span></pre>\n",
       "<pre class='cython code score-27 '>  __pyx_t_7 = <span class='py_c_api'>PyList_New</span>(5);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_int_1);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_int_1);\n",
       "  <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_7, 0, __pyx_int_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_int_10);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_int_10);\n",
       "  <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_7, 1, __pyx_int_10);\n",
       "  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_int_100);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_int_100);\n",
       "  <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_7, 2, __pyx_int_100);\n",
       "  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_int_1000);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_int_1000);\n",
       "  <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_7, 3, __pyx_int_1000);\n",
       "  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_int_10000);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_int_10000);\n",
       "  <span class='py_macro_api'>PyList_SET_ITEM</span>(__pyx_t_7, 4, __pyx_int_10000);\n",
       "  __pyx_t_4 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 7, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_u_i);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_u_i);\n",
       "  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_4, 0, __pyx_n_u_i);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_7);\n",
       "  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_4, 1, __pyx_t_7);\n",
       "  __pyx_t_7 = 0;\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(((PyObject *)__pyx_ptype_7cpython_5array_array), __pyx_t_4, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  <span class='refnanny'>__Pyx_XGOTREF</span>((PyObject *)__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_Lrange);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_Lrange, ((arrayobject *)__pyx_t_7));\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_7);\n",
       "  __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">08</span>: <span class=\"k\">cdef</span> <span class=\"kt\">long</span> <span class=\"nf\">i</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">09</span>: <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">L</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">10</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">11</span>: <span class=\"k\">cdef</span> <span class=\"kt\">bytearray</span> <span class=\"nf\">barr</span></pre>\n",
       "<pre class=\"cython line score-52\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">12</span>: <span class=\"k\">for</span> <span class=\"n\">L</span> <span class=\"ow\">in</span> <span class=\"n\">Lrange</span><span class=\"p\">:</span></pre>\n",
       "<pre class='cython code score-52 '>  if (likely(<span class='py_c_api'>PyList_CheckExact</span>(((PyObject *)__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_Lrange))) || <span class='py_c_api'>PyTuple_CheckExact</span>(((PyObject *)__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_Lrange))) {\n",
       "    __pyx_t_7 = ((PyObject *)__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_Lrange); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_7); __pyx_t_9 = 0;\n",
       "    __pyx_t_10 = NULL;\n",
       "  } else {\n",
       "    __pyx_t_9 = -1; __pyx_t_7 = <span class='py_c_api'>PyObject_GetIter</span>(((PyObject *)__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_Lrange));<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "    __pyx_t_10 = <span class='pyx_c_api'>__Pyx_PyObject_GetIterNextFunc</span>(__pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 12, __pyx_L1_error)</span>\n",
       "  }\n",
       "  for (;;) {\n",
       "    if (likely(!__pyx_t_10)) {\n",
       "      if (likely(<span class='py_c_api'>PyList_CheckExact</span>(__pyx_t_7))) {\n",
       "        if (__pyx_t_9 &gt;= <span class='py_macro_api'>PyList_GET_SIZE</span>(__pyx_t_7)) break;\n",
       "        #if CYTHON_ASSUME_SAFE_MACROS &amp;&amp; !CYTHON_AVOID_BORROWED_REFS\n",
       "        __pyx_t_4 = <span class='py_macro_api'>PyList_GET_ITEM</span>(__pyx_t_7, __pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4); __pyx_t_9++; if (unlikely((0 &lt; 0))) <span class='error_goto'>__PYX_ERR(0, 12, __pyx_L1_error)</span>\n",
       "        #else\n",
       "        __pyx_t_4 = <span class='py_macro_api'>PySequence_ITEM</span>(__pyx_t_7, __pyx_t_9); __pyx_t_9++;<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12, __pyx_L1_error)</span>\n",
       "        <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "        #endif\n",
       "      } else {\n",
       "        if (__pyx_t_9 &gt;= <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_t_7)) break;\n",
       "        #if CYTHON_ASSUME_SAFE_MACROS &amp;&amp; !CYTHON_AVOID_BORROWED_REFS\n",
       "        __pyx_t_4 = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_t_7, __pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4); __pyx_t_9++; if (unlikely((0 &lt; 0))) <span class='error_goto'>__PYX_ERR(0, 12, __pyx_L1_error)</span>\n",
       "        #else\n",
       "        __pyx_t_4 = <span class='py_macro_api'>PySequence_ITEM</span>(__pyx_t_7, __pyx_t_9); __pyx_t_9++;<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 12, __pyx_L1_error)</span>\n",
       "        <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "        #endif\n",
       "      }\n",
       "    } else {\n",
       "      __pyx_t_4 = __pyx_t_10(__pyx_t_7);\n",
       "      if (unlikely(!__pyx_t_4)) {\n",
       "        PyObject* exc_type = <span class='py_c_api'>PyErr_Occurred</span>();\n",
       "        if (exc_type) {\n",
       "          if (likely(<span class='pyx_c_api'>__Pyx_PyErr_GivenExceptionMatches</span>(exc_type, PyExc_StopIteration))) <span class='py_c_api'>PyErr_Clear</span>();\n",
       "          else <span class='error_goto'>__PYX_ERR(0, 12, __pyx_L1_error)</span>\n",
       "        }\n",
       "        break;\n",
       "      }\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    }\n",
       "    __pyx_t_11 = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(__pyx_t_4); if (unlikely((__pyx_t_11 == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 12, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_L = __pyx_t_11;\n",
       "/* … */\n",
       "  }\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-25\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">13</span>:     <span class=\"n\">t1</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"o\">.</span><span class=\"n\">process_time</span><span class=\"p\">()</span></pre>\n",
       "<pre class='cython code score-25 '>    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_5, __pyx_n_s_time);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 13, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_5, __pyx_n_s_process_time);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 13, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = NULL;\n",
       "    __pyx_t_11 = 0;\n",
       "    if (CYTHON_UNPACK_METHODS &amp;&amp; unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_12))) {\n",
       "      __pyx_t_5 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_12);\n",
       "      if (likely(__pyx_t_5)) {\n",
       "        PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_12);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_12, function);\n",
       "        __pyx_t_11 = 1;\n",
       "      }\n",
       "    }\n",
       "    {\n",
       "      PyObject *__pyx_callargs[1] = {__pyx_t_5, };\n",
       "      __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_12, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11);\n",
       "      <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "      if (unlikely(!__pyx_t_4)) <span class='error_goto'>__PYX_ERR(0, 13, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    }\n",
       "    if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_t1, __pyx_t_4) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 13, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">14</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">N</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>    __pyx_t_13 = __pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_N;\n",
       "    __pyx_t_14 = __pyx_t_13;\n",
       "    for (__pyx_t_15 = 0; __pyx_t_15 &lt; __pyx_t_14; __pyx_t_15+=1) {\n",
       "      __pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_i = __pyx_t_15;\n",
       "</pre><pre class=\"cython line score-6\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">15</span>:         <span class=\"n\">barr</span> <span class=\"o\">=</span> <span class=\"nb\">bytearray</span><span class=\"p\">(</span><span class=\"n\">L</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-6 '>      __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_L);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "      __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(((PyObject *)(&amp;PyByteArray_Type)), __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 15, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "      <span class='refnanny'>__Pyx_XGOTREF</span>(__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_barr);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_barr, ((PyObject*)__pyx_t_12));\n",
       "      <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_12);\n",
       "      __pyx_t_12 = 0;\n",
       "    }\n",
       "</pre><pre class=\"cython line score-25\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">16</span>:     <span class=\"n\">t2</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"o\">.</span><span class=\"n\">process_time</span><span class=\"p\">()</span></pre>\n",
       "<pre class='cython code score-25 '>    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_4, __pyx_n_s_time);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 16, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_4, __pyx_n_s_process_time);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 16, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = NULL;\n",
       "    __pyx_t_11 = 0;\n",
       "    if (CYTHON_UNPACK_METHODS &amp;&amp; unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_5))) {\n",
       "      __pyx_t_4 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_5);\n",
       "      if (likely(__pyx_t_4)) {\n",
       "        PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_5);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_5, function);\n",
       "        __pyx_t_11 = 1;\n",
       "      }\n",
       "    }\n",
       "    {\n",
       "      PyObject *__pyx_callargs[1] = {__pyx_t_4, };\n",
       "      __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11);\n",
       "      <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "      if (unlikely(!__pyx_t_12)) <span class='error_goto'>__PYX_ERR(0, 16, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    }\n",
       "    if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_t2, __pyx_t_12) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 16, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "</pre><pre class=\"cython line score-54\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">17</span>:     <span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s\">&#39;Elapsed time to make bytearray with length of &#39;</span> <span class=\"o\">+</span><span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">L</span><span class=\"p\">)</span><span class=\"o\">+</span><span class=\"s\">&#39; is &#39;</span><span class=\"o\">+</span><span class=\"nb\">str</span><span class=\"p\">((</span><span class=\"n\">t2</span><span class=\"o\">-</span><span class=\"n\">t1</span><span class=\"p\">)</span><span class=\"o\">/</span><span class=\"n\">N</span><span class=\"o\">*</span><span class=\"mf\">1e6</span><span class=\"p\">)</span><span class=\"o\">+</span><span class=\"s\">&#39; us&#39;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-54 '>    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_L);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_t_12 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_kp_u_Elapsed_time_to_make_bytearray_w, __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyUnicode_ConcatInPlace</span>(__pyx_t_12, __pyx_kp_u_is);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_12, __pyx_n_s_t2);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_4, __pyx_n_s_t1);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    __pyx_t_16 = <span class='py_c_api'>PyNumber_Subtract</span>(__pyx_t_12, __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_16);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_From_long</span>(__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_N);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyNumber_Divide</span>(__pyx_t_16, __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_16); __pyx_t_16 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='py_c_api'>PyNumber_Multiply</span>(__pyx_t_12, __pyx_float_1e6);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_t_5, __pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyUnicode_ConcatInPlace</span>(__pyx_t_4, __pyx_kp_u_us);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_builtin_print, __pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">18</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">19</span>: <span class=\"k\">cdef</span> <span class=\"kt\">unsigned</span> <span class=\"kt\">char</span>[<span class=\"p\">::</span><span class=\"mf\">1</span><span class=\"p\">]</span> <span class=\"n\">mbarr</span></pre>\n",
       "<pre class=\"cython line score-52\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">20</span>: <span class=\"k\">for</span> <span class=\"n\">L</span> <span class=\"ow\">in</span> <span class=\"n\">Lrange</span><span class=\"p\">:</span></pre>\n",
       "<pre class='cython code score-52 '>  if (likely(<span class='py_c_api'>PyList_CheckExact</span>(((PyObject *)__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_Lrange))) || <span class='py_c_api'>PyTuple_CheckExact</span>(((PyObject *)__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_Lrange))) {\n",
       "    __pyx_t_7 = ((PyObject *)__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_Lrange); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_7); __pyx_t_9 = 0;\n",
       "    __pyx_t_10 = NULL;\n",
       "  } else {\n",
       "    __pyx_t_9 = -1; __pyx_t_7 = <span class='py_c_api'>PyObject_GetIter</span>(((PyObject *)__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_Lrange));<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 20, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "    __pyx_t_10 = <span class='pyx_c_api'>__Pyx_PyObject_GetIterNextFunc</span>(__pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 20, __pyx_L1_error)</span>\n",
       "  }\n",
       "  for (;;) {\n",
       "    if (likely(!__pyx_t_10)) {\n",
       "      if (likely(<span class='py_c_api'>PyList_CheckExact</span>(__pyx_t_7))) {\n",
       "        if (__pyx_t_9 &gt;= <span class='py_macro_api'>PyList_GET_SIZE</span>(__pyx_t_7)) break;\n",
       "        #if CYTHON_ASSUME_SAFE_MACROS &amp;&amp; !CYTHON_AVOID_BORROWED_REFS\n",
       "        __pyx_t_4 = <span class='py_macro_api'>PyList_GET_ITEM</span>(__pyx_t_7, __pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4); __pyx_t_9++; if (unlikely((0 &lt; 0))) <span class='error_goto'>__PYX_ERR(0, 20, __pyx_L1_error)</span>\n",
       "        #else\n",
       "        __pyx_t_4 = <span class='py_macro_api'>PySequence_ITEM</span>(__pyx_t_7, __pyx_t_9); __pyx_t_9++;<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20, __pyx_L1_error)</span>\n",
       "        <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "        #endif\n",
       "      } else {\n",
       "        if (__pyx_t_9 &gt;= <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_t_7)) break;\n",
       "        #if CYTHON_ASSUME_SAFE_MACROS &amp;&amp; !CYTHON_AVOID_BORROWED_REFS\n",
       "        __pyx_t_4 = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_t_7, __pyx_t_9); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4); __pyx_t_9++; if (unlikely((0 &lt; 0))) <span class='error_goto'>__PYX_ERR(0, 20, __pyx_L1_error)</span>\n",
       "        #else\n",
       "        __pyx_t_4 = <span class='py_macro_api'>PySequence_ITEM</span>(__pyx_t_7, __pyx_t_9); __pyx_t_9++;<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 20, __pyx_L1_error)</span>\n",
       "        <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "        #endif\n",
       "      }\n",
       "    } else {\n",
       "      __pyx_t_4 = __pyx_t_10(__pyx_t_7);\n",
       "      if (unlikely(!__pyx_t_4)) {\n",
       "        PyObject* exc_type = <span class='py_c_api'>PyErr_Occurred</span>();\n",
       "        if (exc_type) {\n",
       "          if (likely(<span class='pyx_c_api'>__Pyx_PyErr_GivenExceptionMatches</span>(exc_type, PyExc_StopIteration))) <span class='py_c_api'>PyErr_Clear</span>();\n",
       "          else <span class='error_goto'>__PYX_ERR(0, 20, __pyx_L1_error)</span>\n",
       "        }\n",
       "        break;\n",
       "      }\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    }\n",
       "    __pyx_t_11 = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(__pyx_t_4); if (unlikely((__pyx_t_11 == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 20, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_L = __pyx_t_11;\n",
       "/* … */\n",
       "  }\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-25\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">21</span>:     <span class=\"n\">t1</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"o\">.</span><span class=\"n\">process_time</span><span class=\"p\">()</span></pre>\n",
       "<pre class='cython code score-25 '>    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_12, __pyx_n_s_time);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 21, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_12, __pyx_n_s_process_time);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 21, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_t_12 = NULL;\n",
       "    __pyx_t_11 = 0;\n",
       "    if (CYTHON_UNPACK_METHODS &amp;&amp; unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_5))) {\n",
       "      __pyx_t_12 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_5);\n",
       "      if (likely(__pyx_t_12)) {\n",
       "        PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_5);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_12);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_5, function);\n",
       "        __pyx_t_11 = 1;\n",
       "      }\n",
       "    }\n",
       "    {\n",
       "      PyObject *__pyx_callargs[1] = {__pyx_t_12, };\n",
       "      __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_5, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11);\n",
       "      <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "      if (unlikely(!__pyx_t_4)) <span class='error_goto'>__PYX_ERR(0, 21, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    }\n",
       "    if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_t1, __pyx_t_4) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 21, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">22</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">N</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>    __pyx_t_13 = __pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_N;\n",
       "    __pyx_t_14 = __pyx_t_13;\n",
       "    for (__pyx_t_15 = 0; __pyx_t_15 &lt; __pyx_t_14; __pyx_t_15+=1) {\n",
       "      __pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_i = __pyx_t_15;\n",
       "</pre><pre class=\"cython line score-8\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">23</span>:         <span class=\"n\">mbarr</span> <span class=\"o\">=</span> <span class=\"nb\">bytearray</span><span class=\"p\">(</span><span class=\"n\">L</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-8 '>      __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_L);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "      __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(((PyObject *)(&amp;PyByteArray_Type)), __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "      __pyx_t_17 = <span class='pyx_c_api'>__Pyx_PyObject_to_MemoryviewSlice_dc_unsigned_char</span>(__pyx_t_5, PyBUF_WRITABLE);<span class='error_goto'> if (unlikely(!__pyx_t_17.memview)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "      __PYX_XCLEAR_MEMVIEW(&amp;__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_mbarr, 1);\n",
       "      __pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_mbarr = __pyx_t_17;\n",
       "      __pyx_t_17.memview = NULL;\n",
       "      __pyx_t_17.data = NULL;\n",
       "    }\n",
       "</pre><pre class=\"cython line score-25\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">24</span>:     <span class=\"n\">t2</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"o\">.</span><span class=\"n\">process_time</span><span class=\"p\">()</span></pre>\n",
       "<pre class='cython code score-25 '>    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_4, __pyx_n_s_time);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 24, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_4, __pyx_n_s_process_time);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 24, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = NULL;\n",
       "    __pyx_t_11 = 0;\n",
       "    if (CYTHON_UNPACK_METHODS &amp;&amp; unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_12))) {\n",
       "      __pyx_t_4 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_12);\n",
       "      if (likely(__pyx_t_4)) {\n",
       "        PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_12);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_4);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_12, function);\n",
       "        __pyx_t_11 = 1;\n",
       "      }\n",
       "    }\n",
       "    {\n",
       "      PyObject *__pyx_callargs[1] = {__pyx_t_4, };\n",
       "      __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_12, __pyx_callargs+1-__pyx_t_11, 0+__pyx_t_11);\n",
       "      <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "      if (unlikely(!__pyx_t_5)) <span class='error_goto'>__PYX_ERR(0, 24, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    }\n",
       "    if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_t2, __pyx_t_5) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 24, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "</pre><pre class=\"cython line score-54\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">25</span>:     <span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s\">&#39;Elapsed time to make bytearray memoryview with length of &#39;</span> <span class=\"o\">+</span><span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">L</span><span class=\"p\">)</span><span class=\"o\">+</span><span class=\"s\">&#39; is &#39;</span><span class=\"o\">+</span><span class=\"nb\">str</span><span class=\"p\">((</span><span class=\"n\">t2</span><span class=\"o\">-</span><span class=\"n\">t1</span><span class=\"p\">)</span><span class=\"o\">/</span><span class=\"n\">N</span><span class=\"o\">*</span><span class=\"mf\">1e6</span><span class=\"p\">)</span><span class=\"o\">+</span><span class=\"s\">&#39; us&#39;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-54 '>    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_L);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_kp_u_Elapsed_time_to_make_bytearray_m, __pyx_t_12);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    __pyx_t_12 = <span class='pyx_c_api'>__Pyx_PyUnicode_ConcatInPlace</span>(__pyx_t_5, __pyx_kp_u_is);<span class='error_goto'> if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_12);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_5, __pyx_n_s_t2);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_4, __pyx_n_s_t1);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    __pyx_t_16 = <span class='py_c_api'>PyNumber_Subtract</span>(__pyx_t_5, __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_16);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_From_long</span>(__pyx_v_54_cython_magic_5df2057855ef15c3c147680da8319eb4039c6952_N);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyNumber_Divide</span>(__pyx_t_16, __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_16); __pyx_t_16 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='py_c_api'>PyNumber_Multiply</span>(__pyx_t_5, __pyx_float_1e6);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='py_c_api'>PyNumber_Add</span>(__pyx_t_12, __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_12); __pyx_t_12 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyUnicode_ConcatInPlace</span>(__pyx_t_4, __pyx_kp_u_us);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_builtin_print, __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "</pre></div></body></html>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%cython --annotate\n",
    "\n",
    "import time\n",
    "from cython cimport bytearray\n",
    "from cpython cimport array\n",
    "\n",
    "cdef long N = 1000000\n",
    "cdef array.array Lrange = array.array('i', [1,10,100,1000,10000])\n",
    "cdef long i\n",
    "cdef int L\n",
    "\n",
    "cdef bytearray barr\n",
    "for L in Lrange:\n",
    "    t1 = time.process_time()\n",
    "    for i in range(N):\n",
    "        barr = bytearray(L)\n",
    "    t2 = time.process_time()\n",
    "    print('Elapsed time to make bytearray with length of ' +str(L)+' is '+str((t2-t1)/N*1e6)+' us')\n",
    "\n",
    "cdef unsigned char[::1] mbarr\n",
    "for L in Lrange:\n",
    "    t1 = time.process_time()\n",
    "    for i in range(N):\n",
    "        mbarr = bytearray(L)\n",
    "    t2 = time.process_time()\n",
    "    print('Elapsed time to make bytearray memoryview with length of ' +str(L)+' is '+str((t2-t1)/N*1e6)+' us')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "0963d399",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Content of stdout:\n",
      "_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c.c\n",
      "C:\\Users\\THEMATRIXNEO\\miniconda3\\lib\\site-packages\\numpy\\core\\include\\numpy\\npy_1_7_deprecated_api.h(14) : Warning Msg: Using deprecated NumPy API, disable it with #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION\n",
      "C:\\Users\\THEMATRIXNEO\\.ipython\\cython\\_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c.c(1465): warning C4005: '__pyx_nonatomic_int_type'ÿ: red‚finition de macro\n",
      "C:\\Users\\THEMATRIXNEO\\.ipython\\cython\\_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c.c(1416): note: voir la d‚finition pr‚c‚dente de '__pyx_nonatomic_int_type'\n",
      "   Cr‚ation de la bibliothŠque C:\\Users\\THEMATRIXNEO\\.ipython\\cython\\Users\\THEMATRIXNEO\\.ipython\\cython\\_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c.cp310-win_amd64.lib et de l'objet C:\\Users\\THEMATRIXNEO\\.ipython\\cython\\Users\\THEMATRIXNEO\\.ipython\\cython\\_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c.cp310-win_amd64.exp\n",
      "G‚n‚ration de code en cours\n",
      "Fin de la g‚n‚ration du code\n",
      "INITIALISATIONS\n",
      "Running cpython.array buffer\n",
      "0.156250 0.156250 0.156250 0.312500 0.468750 0.312500 μs\n",
      "Running cpython.array memoryview\n",
      "0.312500 0.625000 0.312500 0.312500 0.625000 0.625000 μs\n",
      "Running cpython.array raw C type\n",
      "0.156250 0.000000 0.156250 0.156250 0.468750 0.312500 μs\n",
      "Running numpy.empty_like memoryview\n",
      "1.093750 1.093750 1.250000 1.250000 1.718750 1.562500 μs\n",
      "Running malloc\n",
      "0.000000 0.156250 0.000000 0.156250 0.312500 0.156250 μs\n",
      "Running malloc memoryview\n",
      "0.781250 0.781250 0.625000 0.781250 0.937500 0.781250 μs\n",
      "Running cvarray memoryview\n",
      "0.781250 0.625000 0.781250 0.781250 0.781250 0.937500 μs\n",
      "\n",
      "ITERATING\n",
      "Running cpython.array buffer\n",
      "0.000000 0.000000 0.000000 0.000000 0.000000 31.250000 μs\n",
      "Running cpython.array memoryview\n",
      "0.000000 0.000000 0.000000 0.000000 0.000000 15.625000 μs\n",
      "Running cpython.array raw C type\n",
      "0.000000 0.000000 0.000000 46.875000 515.625000 4859.375000 μs\n",
      "Running numpy.empty_like memoryview\n",
      "0.000000 0.000000 0.000000 0.000000 0.000000 31.250000 μs\n",
      "Running malloc\n",
      "0.000000 0.000000 0.000000 0.000000 0.000000 15.625000 μs\n",
      "Running malloc memoryview\n",
      "0.000000 0.000000 0.000000 0.000000 0.000000 15.625000 μs\n",
      "Running cvarray memoryview\n",
      "0.000000 0.000000 0.000000 0.000000 15.625000 15.625000 μs\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<!DOCTYPE html>\n",
       "<!-- Generated by Cython 3.0.0b2 -->\n",
       "<html>\n",
       "<head>\n",
       "    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n",
       "    <title>Cython: _cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c.pyx</title>\n",
       "    <style type=\"text/css\">\n",
       "    \n",
       "body.cython { font-family: courier; font-size: 12; }\n",
       "\n",
       ".cython.tag  {  }\n",
       ".cython.line { color: #000000; margin: 0em }\n",
       ".cython.code { font-size: 9; color: #444444; display: none; margin: 0px 0px 0px 8px; border-left: 8px none; }\n",
       "\n",
       ".cython.line .run { background-color: #B0FFB0; }\n",
       ".cython.line .mis { background-color: #FFB0B0; }\n",
       ".cython.code.run  { border-left: 8px solid #B0FFB0; }\n",
       ".cython.code.mis  { border-left: 8px solid #FFB0B0; }\n",
       "\n",
       ".cython.code .py_c_api  { color: red; }\n",
       ".cython.code .py_macro_api  { color: #FF7000; }\n",
       ".cython.code .pyx_c_api  { color: #FF3000; }\n",
       ".cython.code .pyx_macro_api  { color: #FF7000; }\n",
       ".cython.code .refnanny  { color: #FFA000; }\n",
       ".cython.code .trace  { color: #FFA000; }\n",
       ".cython.code .error_goto  { color: #FFA000; }\n",
       "\n",
       ".cython.code .coerce  { color: #008000; border: 1px dotted #008000 }\n",
       ".cython.code .py_attr { color: #FF0000; font-weight: bold; }\n",
       ".cython.code .c_attr  { color: #0000FF; }\n",
       ".cython.code .py_call { color: #FF0000; font-weight: bold; }\n",
       ".cython.code .c_call  { color: #0000FF; }\n",
       "\n",
       ".cython.score-0 {background-color: #FFFFff;}\n",
       ".cython.score-1 {background-color: #FFFFe7;}\n",
       ".cython.score-2 {background-color: #FFFFd4;}\n",
       ".cython.score-3 {background-color: #FFFFc4;}\n",
       ".cython.score-4 {background-color: #FFFFb6;}\n",
       ".cython.score-5 {background-color: #FFFFaa;}\n",
       ".cython.score-6 {background-color: #FFFF9f;}\n",
       ".cython.score-7 {background-color: #FFFF96;}\n",
       ".cython.score-8 {background-color: #FFFF8d;}\n",
       ".cython.score-9 {background-color: #FFFF86;}\n",
       ".cython.score-10 {background-color: #FFFF7f;}\n",
       ".cython.score-11 {background-color: #FFFF79;}\n",
       ".cython.score-12 {background-color: #FFFF73;}\n",
       ".cython.score-13 {background-color: #FFFF6e;}\n",
       ".cython.score-14 {background-color: #FFFF6a;}\n",
       ".cython.score-15 {background-color: #FFFF66;}\n",
       ".cython.score-16 {background-color: #FFFF62;}\n",
       ".cython.score-17 {background-color: #FFFF5e;}\n",
       ".cython.score-18 {background-color: #FFFF5b;}\n",
       ".cython.score-19 {background-color: #FFFF57;}\n",
       ".cython.score-20 {background-color: #FFFF55;}\n",
       ".cython.score-21 {background-color: #FFFF52;}\n",
       ".cython.score-22 {background-color: #FFFF4f;}\n",
       ".cython.score-23 {background-color: #FFFF4d;}\n",
       ".cython.score-24 {background-color: #FFFF4b;}\n",
       ".cython.score-25 {background-color: #FFFF48;}\n",
       ".cython.score-26 {background-color: #FFFF46;}\n",
       ".cython.score-27 {background-color: #FFFF44;}\n",
       ".cython.score-28 {background-color: #FFFF43;}\n",
       ".cython.score-29 {background-color: #FFFF41;}\n",
       ".cython.score-30 {background-color: #FFFF3f;}\n",
       ".cython.score-31 {background-color: #FFFF3e;}\n",
       ".cython.score-32 {background-color: #FFFF3c;}\n",
       ".cython.score-33 {background-color: #FFFF3b;}\n",
       ".cython.score-34 {background-color: #FFFF39;}\n",
       ".cython.score-35 {background-color: #FFFF38;}\n",
       ".cython.score-36 {background-color: #FFFF37;}\n",
       ".cython.score-37 {background-color: #FFFF36;}\n",
       ".cython.score-38 {background-color: #FFFF35;}\n",
       ".cython.score-39 {background-color: #FFFF34;}\n",
       ".cython.score-40 {background-color: #FFFF33;}\n",
       ".cython.score-41 {background-color: #FFFF32;}\n",
       ".cython.score-42 {background-color: #FFFF31;}\n",
       ".cython.score-43 {background-color: #FFFF30;}\n",
       ".cython.score-44 {background-color: #FFFF2f;}\n",
       ".cython.score-45 {background-color: #FFFF2e;}\n",
       ".cython.score-46 {background-color: #FFFF2d;}\n",
       ".cython.score-47 {background-color: #FFFF2c;}\n",
       ".cython.score-48 {background-color: #FFFF2b;}\n",
       ".cython.score-49 {background-color: #FFFF2b;}\n",
       ".cython.score-50 {background-color: #FFFF2a;}\n",
       ".cython.score-51 {background-color: #FFFF29;}\n",
       ".cython.score-52 {background-color: #FFFF29;}\n",
       ".cython.score-53 {background-color: #FFFF28;}\n",
       ".cython.score-54 {background-color: #FFFF27;}\n",
       ".cython.score-55 {background-color: #FFFF27;}\n",
       ".cython.score-56 {background-color: #FFFF26;}\n",
       ".cython.score-57 {background-color: #FFFF26;}\n",
       ".cython.score-58 {background-color: #FFFF25;}\n",
       ".cython.score-59 {background-color: #FFFF24;}\n",
       ".cython.score-60 {background-color: #FFFF24;}\n",
       ".cython.score-61 {background-color: #FFFF23;}\n",
       ".cython.score-62 {background-color: #FFFF23;}\n",
       ".cython.score-63 {background-color: #FFFF22;}\n",
       ".cython.score-64 {background-color: #FFFF22;}\n",
       ".cython.score-65 {background-color: #FFFF22;}\n",
       ".cython.score-66 {background-color: #FFFF21;}\n",
       ".cython.score-67 {background-color: #FFFF21;}\n",
       ".cython.score-68 {background-color: #FFFF20;}\n",
       ".cython.score-69 {background-color: #FFFF20;}\n",
       ".cython.score-70 {background-color: #FFFF1f;}\n",
       ".cython.score-71 {background-color: #FFFF1f;}\n",
       ".cython.score-72 {background-color: #FFFF1f;}\n",
       ".cython.score-73 {background-color: #FFFF1e;}\n",
       ".cython.score-74 {background-color: #FFFF1e;}\n",
       ".cython.score-75 {background-color: #FFFF1e;}\n",
       ".cython.score-76 {background-color: #FFFF1d;}\n",
       ".cython.score-77 {background-color: #FFFF1d;}\n",
       ".cython.score-78 {background-color: #FFFF1c;}\n",
       ".cython.score-79 {background-color: #FFFF1c;}\n",
       ".cython.score-80 {background-color: #FFFF1c;}\n",
       ".cython.score-81 {background-color: #FFFF1c;}\n",
       ".cython.score-82 {background-color: #FFFF1b;}\n",
       ".cython.score-83 {background-color: #FFFF1b;}\n",
       ".cython.score-84 {background-color: #FFFF1b;}\n",
       ".cython.score-85 {background-color: #FFFF1a;}\n",
       ".cython.score-86 {background-color: #FFFF1a;}\n",
       ".cython.score-87 {background-color: #FFFF1a;}\n",
       ".cython.score-88 {background-color: #FFFF1a;}\n",
       ".cython.score-89 {background-color: #FFFF19;}\n",
       ".cython.score-90 {background-color: #FFFF19;}\n",
       ".cython.score-91 {background-color: #FFFF19;}\n",
       ".cython.score-92 {background-color: #FFFF19;}\n",
       ".cython.score-93 {background-color: #FFFF18;}\n",
       ".cython.score-94 {background-color: #FFFF18;}\n",
       ".cython.score-95 {background-color: #FFFF18;}\n",
       ".cython.score-96 {background-color: #FFFF18;}\n",
       ".cython.score-97 {background-color: #FFFF17;}\n",
       ".cython.score-98 {background-color: #FFFF17;}\n",
       ".cython.score-99 {background-color: #FFFF17;}\n",
       ".cython.score-100 {background-color: #FFFF17;}\n",
       ".cython.score-101 {background-color: #FFFF16;}\n",
       ".cython.score-102 {background-color: #FFFF16;}\n",
       ".cython.score-103 {background-color: #FFFF16;}\n",
       ".cython.score-104 {background-color: #FFFF16;}\n",
       ".cython.score-105 {background-color: #FFFF16;}\n",
       ".cython.score-106 {background-color: #FFFF15;}\n",
       ".cython.score-107 {background-color: #FFFF15;}\n",
       ".cython.score-108 {background-color: #FFFF15;}\n",
       ".cython.score-109 {background-color: #FFFF15;}\n",
       ".cython.score-110 {background-color: #FFFF15;}\n",
       ".cython.score-111 {background-color: #FFFF15;}\n",
       ".cython.score-112 {background-color: #FFFF14;}\n",
       ".cython.score-113 {background-color: #FFFF14;}\n",
       ".cython.score-114 {background-color: #FFFF14;}\n",
       ".cython.score-115 {background-color: #FFFF14;}\n",
       ".cython.score-116 {background-color: #FFFF14;}\n",
       ".cython.score-117 {background-color: #FFFF14;}\n",
       ".cython.score-118 {background-color: #FFFF13;}\n",
       ".cython.score-119 {background-color: #FFFF13;}\n",
       ".cython.score-120 {background-color: #FFFF13;}\n",
       ".cython.score-121 {background-color: #FFFF13;}\n",
       ".cython.score-122 {background-color: #FFFF13;}\n",
       ".cython.score-123 {background-color: #FFFF13;}\n",
       ".cython.score-124 {background-color: #FFFF13;}\n",
       ".cython.score-125 {background-color: #FFFF12;}\n",
       ".cython.score-126 {background-color: #FFFF12;}\n",
       ".cython.score-127 {background-color: #FFFF12;}\n",
       ".cython.score-128 {background-color: #FFFF12;}\n",
       ".cython.score-129 {background-color: #FFFF12;}\n",
       ".cython.score-130 {background-color: #FFFF12;}\n",
       ".cython.score-131 {background-color: #FFFF12;}\n",
       ".cython.score-132 {background-color: #FFFF11;}\n",
       ".cython.score-133 {background-color: #FFFF11;}\n",
       ".cython.score-134 {background-color: #FFFF11;}\n",
       ".cython.score-135 {background-color: #FFFF11;}\n",
       ".cython.score-136 {background-color: #FFFF11;}\n",
       ".cython.score-137 {background-color: #FFFF11;}\n",
       ".cython.score-138 {background-color: #FFFF11;}\n",
       ".cython.score-139 {background-color: #FFFF11;}\n",
       ".cython.score-140 {background-color: #FFFF11;}\n",
       ".cython.score-141 {background-color: #FFFF10;}\n",
       ".cython.score-142 {background-color: #FFFF10;}\n",
       ".cython.score-143 {background-color: #FFFF10;}\n",
       ".cython.score-144 {background-color: #FFFF10;}\n",
       ".cython.score-145 {background-color: #FFFF10;}\n",
       ".cython.score-146 {background-color: #FFFF10;}\n",
       ".cython.score-147 {background-color: #FFFF10;}\n",
       ".cython.score-148 {background-color: #FFFF10;}\n",
       ".cython.score-149 {background-color: #FFFF10;}\n",
       ".cython.score-150 {background-color: #FFFF0f;}\n",
       ".cython.score-151 {background-color: #FFFF0f;}\n",
       ".cython.score-152 {background-color: #FFFF0f;}\n",
       ".cython.score-153 {background-color: #FFFF0f;}\n",
       ".cython.score-154 {background-color: #FFFF0f;}\n",
       ".cython.score-155 {background-color: #FFFF0f;}\n",
       ".cython.score-156 {background-color: #FFFF0f;}\n",
       ".cython.score-157 {background-color: #FFFF0f;}\n",
       ".cython.score-158 {background-color: #FFFF0f;}\n",
       ".cython.score-159 {background-color: #FFFF0f;}\n",
       ".cython.score-160 {background-color: #FFFF0f;}\n",
       ".cython.score-161 {background-color: #FFFF0e;}\n",
       ".cython.score-162 {background-color: #FFFF0e;}\n",
       ".cython.score-163 {background-color: #FFFF0e;}\n",
       ".cython.score-164 {background-color: #FFFF0e;}\n",
       ".cython.score-165 {background-color: #FFFF0e;}\n",
       ".cython.score-166 {background-color: #FFFF0e;}\n",
       ".cython.score-167 {background-color: #FFFF0e;}\n",
       ".cython.score-168 {background-color: #FFFF0e;}\n",
       ".cython.score-169 {background-color: #FFFF0e;}\n",
       ".cython.score-170 {background-color: #FFFF0e;}\n",
       ".cython.score-171 {background-color: #FFFF0e;}\n",
       ".cython.score-172 {background-color: #FFFF0e;}\n",
       ".cython.score-173 {background-color: #FFFF0d;}\n",
       ".cython.score-174 {background-color: #FFFF0d;}\n",
       ".cython.score-175 {background-color: #FFFF0d;}\n",
       ".cython.score-176 {background-color: #FFFF0d;}\n",
       ".cython.score-177 {background-color: #FFFF0d;}\n",
       ".cython.score-178 {background-color: #FFFF0d;}\n",
       ".cython.score-179 {background-color: #FFFF0d;}\n",
       ".cython.score-180 {background-color: #FFFF0d;}\n",
       ".cython.score-181 {background-color: #FFFF0d;}\n",
       ".cython.score-182 {background-color: #FFFF0d;}\n",
       ".cython.score-183 {background-color: #FFFF0d;}\n",
       ".cython.score-184 {background-color: #FFFF0d;}\n",
       ".cython.score-185 {background-color: #FFFF0d;}\n",
       ".cython.score-186 {background-color: #FFFF0d;}\n",
       ".cython.score-187 {background-color: #FFFF0c;}\n",
       ".cython.score-188 {background-color: #FFFF0c;}\n",
       ".cython.score-189 {background-color: #FFFF0c;}\n",
       ".cython.score-190 {background-color: #FFFF0c;}\n",
       ".cython.score-191 {background-color: #FFFF0c;}\n",
       ".cython.score-192 {background-color: #FFFF0c;}\n",
       ".cython.score-193 {background-color: #FFFF0c;}\n",
       ".cython.score-194 {background-color: #FFFF0c;}\n",
       ".cython.score-195 {background-color: #FFFF0c;}\n",
       ".cython.score-196 {background-color: #FFFF0c;}\n",
       ".cython.score-197 {background-color: #FFFF0c;}\n",
       ".cython.score-198 {background-color: #FFFF0c;}\n",
       ".cython.score-199 {background-color: #FFFF0c;}\n",
       ".cython.score-200 {background-color: #FFFF0c;}\n",
       ".cython.score-201 {background-color: #FFFF0c;}\n",
       ".cython.score-202 {background-color: #FFFF0c;}\n",
       ".cython.score-203 {background-color: #FFFF0b;}\n",
       ".cython.score-204 {background-color: #FFFF0b;}\n",
       ".cython.score-205 {background-color: #FFFF0b;}\n",
       ".cython.score-206 {background-color: #FFFF0b;}\n",
       ".cython.score-207 {background-color: #FFFF0b;}\n",
       ".cython.score-208 {background-color: #FFFF0b;}\n",
       ".cython.score-209 {background-color: #FFFF0b;}\n",
       ".cython.score-210 {background-color: #FFFF0b;}\n",
       ".cython.score-211 {background-color: #FFFF0b;}\n",
       ".cython.score-212 {background-color: #FFFF0b;}\n",
       ".cython.score-213 {background-color: #FFFF0b;}\n",
       ".cython.score-214 {background-color: #FFFF0b;}\n",
       ".cython.score-215 {background-color: #FFFF0b;}\n",
       ".cython.score-216 {background-color: #FFFF0b;}\n",
       ".cython.score-217 {background-color: #FFFF0b;}\n",
       ".cython.score-218 {background-color: #FFFF0b;}\n",
       ".cython.score-219 {background-color: #FFFF0b;}\n",
       ".cython.score-220 {background-color: #FFFF0b;}\n",
       ".cython.score-221 {background-color: #FFFF0b;}\n",
       ".cython.score-222 {background-color: #FFFF0a;}\n",
       ".cython.score-223 {background-color: #FFFF0a;}\n",
       ".cython.score-224 {background-color: #FFFF0a;}\n",
       ".cython.score-225 {background-color: #FFFF0a;}\n",
       ".cython.score-226 {background-color: #FFFF0a;}\n",
       ".cython.score-227 {background-color: #FFFF0a;}\n",
       ".cython.score-228 {background-color: #FFFF0a;}\n",
       ".cython.score-229 {background-color: #FFFF0a;}\n",
       ".cython.score-230 {background-color: #FFFF0a;}\n",
       ".cython.score-231 {background-color: #FFFF0a;}\n",
       ".cython.score-232 {background-color: #FFFF0a;}\n",
       ".cython.score-233 {background-color: #FFFF0a;}\n",
       ".cython.score-234 {background-color: #FFFF0a;}\n",
       ".cython.score-235 {background-color: #FFFF0a;}\n",
       ".cython.score-236 {background-color: #FFFF0a;}\n",
       ".cython.score-237 {background-color: #FFFF0a;}\n",
       ".cython.score-238 {background-color: #FFFF0a;}\n",
       ".cython.score-239 {background-color: #FFFF0a;}\n",
       ".cython.score-240 {background-color: #FFFF0a;}\n",
       ".cython.score-241 {background-color: #FFFF0a;}\n",
       ".cython.score-242 {background-color: #FFFF0a;}\n",
       ".cython.score-243 {background-color: #FFFF0a;}\n",
       ".cython.score-244 {background-color: #FFFF0a;}\n",
       ".cython.score-245 {background-color: #FFFF0a;}\n",
       ".cython.score-246 {background-color: #FFFF09;}\n",
       ".cython.score-247 {background-color: #FFFF09;}\n",
       ".cython.score-248 {background-color: #FFFF09;}\n",
       ".cython.score-249 {background-color: #FFFF09;}\n",
       ".cython.score-250 {background-color: #FFFF09;}\n",
       ".cython.score-251 {background-color: #FFFF09;}\n",
       ".cython.score-252 {background-color: #FFFF09;}\n",
       ".cython.score-253 {background-color: #FFFF09;}\n",
       ".cython.score-254 {background-color: #FFFF09;}\n",
       "pre { line-height: 125%; }\n",
       "td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n",
       "span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }\n",
       "td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n",
       "span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }\n",
       ".cython .hll { background-color: #ffffcc }\n",
       ".cython { background: #f8f8f8; }\n",
       ".cython .c { color: #3D7B7B; font-style: italic } /* Comment */\n",
       ".cython .err { border: 1px solid #FF0000 } /* Error */\n",
       ".cython .k { color: #008000; font-weight: bold } /* Keyword */\n",
       ".cython .o { color: #666666 } /* Operator */\n",
       ".cython .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */\n",
       ".cython .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */\n",
       ".cython .cp { color: #9C6500 } /* Comment.Preproc */\n",
       ".cython .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */\n",
       ".cython .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */\n",
       ".cython .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */\n",
       ".cython .gd { color: #A00000 } /* Generic.Deleted */\n",
       ".cython .ge { font-style: italic } /* Generic.Emph */\n",
       ".cython .gr { color: #E40000 } /* Generic.Error */\n",
       ".cython .gh { color: #000080; font-weight: bold } /* Generic.Heading */\n",
       ".cython .gi { color: #008400 } /* Generic.Inserted */\n",
       ".cython .go { color: #717171 } /* Generic.Output */\n",
       ".cython .gp { color: #000080; font-weight: bold } /* Generic.Prompt */\n",
       ".cython .gs { font-weight: bold } /* Generic.Strong */\n",
       ".cython .gu { color: #800080; font-weight: bold } /* Generic.Subheading */\n",
       ".cython .gt { color: #0044DD } /* Generic.Traceback */\n",
       ".cython .kc { color: #008000; font-weight: bold } /* Keyword.Constant */\n",
       ".cython .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */\n",
       ".cython .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */\n",
       ".cython .kp { color: #008000 } /* Keyword.Pseudo */\n",
       ".cython .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */\n",
       ".cython .kt { color: #B00040 } /* Keyword.Type */\n",
       ".cython .m { color: #666666 } /* Literal.Number */\n",
       ".cython .s { color: #BA2121 } /* Literal.String */\n",
       ".cython .na { color: #687822 } /* Name.Attribute */\n",
       ".cython .nb { color: #008000 } /* Name.Builtin */\n",
       ".cython .nc { color: #0000FF; font-weight: bold } /* Name.Class */\n",
       ".cython .no { color: #880000 } /* Name.Constant */\n",
       ".cython .nd { color: #AA22FF } /* Name.Decorator */\n",
       ".cython .ni { color: #717171; font-weight: bold } /* Name.Entity */\n",
       ".cython .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */\n",
       ".cython .nf { color: #0000FF } /* Name.Function */\n",
       ".cython .nl { color: #767600 } /* Name.Label */\n",
       ".cython .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */\n",
       ".cython .nt { color: #008000; font-weight: bold } /* Name.Tag */\n",
       ".cython .nv { color: #19177C } /* Name.Variable */\n",
       ".cython .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */\n",
       ".cython .w { color: #bbbbbb } /* Text.Whitespace */\n",
       ".cython .mb { color: #666666 } /* Literal.Number.Bin */\n",
       ".cython .mf { color: #666666 } /* Literal.Number.Float */\n",
       ".cython .mh { color: #666666 } /* Literal.Number.Hex */\n",
       ".cython .mi { color: #666666 } /* Literal.Number.Integer */\n",
       ".cython .mo { color: #666666 } /* Literal.Number.Oct */\n",
       ".cython .sa { color: #BA2121 } /* Literal.String.Affix */\n",
       ".cython .sb { color: #BA2121 } /* Literal.String.Backtick */\n",
       ".cython .sc { color: #BA2121 } /* Literal.String.Char */\n",
       ".cython .dl { color: #BA2121 } /* Literal.String.Delimiter */\n",
       ".cython .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */\n",
       ".cython .s2 { color: #BA2121 } /* Literal.String.Double */\n",
       ".cython .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */\n",
       ".cython .sh { color: #BA2121 } /* Literal.String.Heredoc */\n",
       ".cython .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */\n",
       ".cython .sx { color: #008000 } /* Literal.String.Other */\n",
       ".cython .sr { color: #A45A77 } /* Literal.String.Regex */\n",
       ".cython .s1 { color: #BA2121 } /* Literal.String.Single */\n",
       ".cython .ss { color: #19177C } /* Literal.String.Symbol */\n",
       ".cython .bp { color: #008000 } /* Name.Builtin.Pseudo */\n",
       ".cython .fm { color: #0000FF } /* Name.Function.Magic */\n",
       ".cython .vc { color: #19177C } /* Name.Variable.Class */\n",
       ".cython .vg { color: #19177C } /* Name.Variable.Global */\n",
       ".cython .vi { color: #19177C } /* Name.Variable.Instance */\n",
       ".cython .vm { color: #19177C } /* Name.Variable.Magic */\n",
       ".cython .il { color: #666666 } /* Literal.Number.Integer.Long */\n",
       "    </style>\n",
       "</head>\n",
       "<body class=\"cython\">\n",
       "<p><span style=\"border-bottom: solid 1px grey;\">Generated by Cython 3.0.0b2</span></p>\n",
       "<p>\n",
       "    <span style=\"background-color: #FFFF00\">Yellow lines</span> hint at Python interaction.<br />\n",
       "    Click on a line that starts with a \"<code>+</code>\" to see the C code that Cython generated for it.\n",
       "</p>\n",
       "<div class=\"cython\"><pre class=\"cython line score-0\">&#xA0;<span class=\"\">001</span>: </pre>\n",
       "<pre class=\"cython line score-8\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">002</span>: <span class=\"c\"># cython: language_level=3</span></pre>\n",
       "<pre class='cython code score-8 '>  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyDict_NewPresized</span>(0);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_test, __pyx_t_4) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 2, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">003</span>: <span class=\"c\"># cython: boundscheck=False</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">004</span>: <span class=\"c\"># cython: wraparound=False</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">005</span>: </pre>\n",
       "<pre class=\"cython line score-8\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">006</span>: <span class=\"k\">import</span> <span class=\"nn\">time</span></pre>\n",
       "<pre class='cython code score-8 '>  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_ImportDottedModule</span>(__pyx_n_s_time, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 6, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_time, __pyx_t_7) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 6, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-8\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">007</span>: <span class=\"k\">import</span> <span class=\"nn\">sys</span></pre>\n",
       "<pre class='cython code score-8 '>  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_ImportDottedModule</span>(__pyx_n_s_sys, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 7, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_sys, __pyx_t_7) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 7, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">008</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">009</span>: <span class=\"k\">from</span> <span class=\"nn\">cpython.array</span> <span class=\"k\">cimport</span> <span class=\"n\">array</span><span class=\"p\">,</span> <span class=\"n\">clone</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">010</span>: <span class=\"k\">from</span> <span class=\"nn\">cython.view</span> <span class=\"k\">cimport</span> <span class=\"n\">array</span> <span class=\"k\">as</span> <span class=\"n\">cvarray</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">011</span>: <span class=\"k\">from</span> <span class=\"nn\">libc.stdlib</span> <span class=\"k\">cimport</span> <span class=\"n\">malloc</span><span class=\"p\">,</span> <span class=\"n\">free</span></pre>\n",
       "<pre class=\"cython line score-8\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">012</span>: <span class=\"k\">import</span> <span class=\"nn\">numpy</span> <span class=\"k\">as</span> <span class=\"nn\">numpy</span></pre>\n",
       "<pre class='cython code score-8 '>  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_ImportDottedModule</span>(__pyx_n_s_numpy, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 12, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_numpy, __pyx_t_7) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 12, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">013</span>: <span class=\"k\">cimport</span> <span class=\"nn\">numpy</span> <span class=\"k\">as</span> <span class=\"nn\">numpy</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">014</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">015</span>: <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">loops</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">016</span>: </pre>\n",
       "<pre class=\"cython line score-44\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">017</span>: <span class=\"k\">def</span> <span class=\"nf\">timefunc</span><span class=\"p\">(</span><span class=\"n\">name</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-44 '>/* Python wrapper */\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_1timefunc(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       "); /*proto*/\n",
       "static PyMethodDef __pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_1timefunc = {\"timefunc\", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_1timefunc, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_1timefunc(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       ") {\n",
       "  PyObject *__pyx_v_name = 0;\n",
       "  #if !CYTHON_METH_FASTCALL\n",
       "  CYTHON_UNUSED const Py_ssize_t __pyx_nargs = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);\n",
       "  #endif\n",
       "  CYTHON_UNUSED PyObject *const *__pyx_kwvalues = <span class='pyx_c_api'>__Pyx_KwValues_FASTCALL</span>(__pyx_args, __pyx_nargs);\n",
       "  PyObject *__pyx_r = 0;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"timefunc (wrapper)\", 0);\n",
       "  {\n",
       "    PyObject **__pyx_pyargnames[] = {&amp;__pyx_n_s_name,0};\n",
       "    PyObject* values[1] = {0};\n",
       "    if (__pyx_kwds) {\n",
       "      Py_ssize_t kw_args;\n",
       "      switch (__pyx_nargs) {\n",
       "        case  1: values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "        CYTHON_FALLTHROUGH;\n",
       "        case  0: break;\n",
       "        default: goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      kw_args = <span class='pyx_c_api'>__Pyx_NumKwargs_FASTCALL</span>(__pyx_kwds);\n",
       "      switch (__pyx_nargs) {\n",
       "        case  0:\n",
       "        if (likely((values[0] = <span class='pyx_c_api'>__Pyx_GetKwValue_FASTCALL</span>(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_name)) != 0)) kw_args--;\n",
       "        else if (unlikely(<span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 17, __pyx_L3_error)</span>\n",
       "        else goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      if (unlikely(kw_args &gt; 0)) {\n",
       "        const Py_ssize_t kwd_pos_args = __pyx_nargs;\n",
       "        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, \"timefunc\") &lt; 0)) <span class='error_goto'>__PYX_ERR(0, 17, __pyx_L3_error)</span>\n",
       "      }\n",
       "    } else if (unlikely(__pyx_nargs != 1)) {\n",
       "      goto __pyx_L5_argtuple_error;\n",
       "    } else {\n",
       "      values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "    }\n",
       "    __pyx_v_name = values[0];\n",
       "  }\n",
       "  goto __pyx_L4_argument_unpacking_done;\n",
       "  __pyx_L5_argtuple_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>(\"timefunc\", 1, 1, 1, __pyx_nargs); <span class='error_goto'>__PYX_ERR(0, 17, __pyx_L3_error)</span>\n",
       "  __pyx_L3_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c.timefunc\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return NULL;\n",
       "  __pyx_L4_argument_unpacking_done:;\n",
       "  __pyx_r = __pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_timefunc(__pyx_self, __pyx_v_name);\n",
       "  int __pyx_lineno = 0;\n",
       "  const char *__pyx_filename = NULL;\n",
       "  int __pyx_clineno = 0;\n",
       "\n",
       "  /* function exit code */\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "/* … */\n",
       "static PyObject *__pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_timefunc(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_name) {\n",
       "  struct __pyx_obj_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c___pyx_scope_struct__timefunc *__pyx_cur_scope;\n",
       "  PyObject *__pyx_v_timedecorator = 0;\n",
       "  PyObject *__pyx_r = NULL;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"timefunc\", 0);\n",
       "  __pyx_cur_scope = (struct __pyx_obj_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c___pyx_scope_struct__timefunc *)__pyx_tp_new_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c___pyx_scope_struct__timefunc(__pyx_ptype_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c___pyx_scope_struct__timefunc, __pyx_empty_tuple, NULL);\n",
       "  if (unlikely(!__pyx_cur_scope)) {\n",
       "    __pyx_cur_scope = ((struct __pyx_obj_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c___pyx_scope_struct__timefunc *)Py_None);\n",
       "    <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);\n",
       "    <span class='error_goto'>__PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "  } else {\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>((PyObject *)__pyx_cur_scope);\n",
       "  }\n",
       "  __pyx_cur_scope-&gt;__pyx_v_name = __pyx_v_name;\n",
       "  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_cur_scope-&gt;__pyx_v_name);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_cur_scope-&gt;__pyx_v_name);\n",
       "/* … */\n",
       "  /* function exit code */\n",
       "  __pyx_L1_error:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1);\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c.timefunc\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  __pyx_r = NULL;\n",
       "  __pyx_L0:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_timedecorator);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>((PyObject *)__pyx_cur_scope);\n",
       "  <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "/* … */\n",
       "  __pyx_tuple__34 = <span class='py_c_api'>PyTuple_Pack</span>(3, __pyx_n_s_name, __pyx_n_s_timedecorator, __pyx_n_s_timedecorator);<span class='error_goto'> if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__34);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__34);\n",
       "/* … */\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_CyFunction_New</span>(&amp;__pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_1timefunc, 0, __pyx_n_s_timefunc, NULL, __pyx_n_s_cython_magic_fdf74a4c94f4ab3f73, __pyx_d, ((PyObject *)__pyx_codeobj__35));<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_timefunc, __pyx_t_7) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  __pyx_codeobj__35 = (PyObject*)<span class='pyx_c_api'>__Pyx_PyCode_New</span>(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_THEMATRIXNEO_ipython_cyt, __pyx_n_s_timefunc, 17, __pyx_empty_bytes);<span class='error_goto'> if (unlikely(!__pyx_codeobj__35)) __PYX_ERR(0, 17, __pyx_L1_error)</span>\n",
       "/* … */\n",
       "struct __pyx_obj_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c___pyx_scope_struct__timefunc {\n",
       "  PyObject_HEAD\n",
       "  PyObject *__pyx_v_name;\n",
       "};\n",
       "\n",
       "\n",
       "</pre><pre class=\"cython line score-43\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">018</span>:     <span class=\"k\">def</span> <span class=\"nf\">timedecorator</span><span class=\"p\">(</span><span class=\"n\">f</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-43 '>/* Python wrapper */\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_8timefunc_1timedecorator(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       "); /*proto*/\n",
       "static PyMethodDef __pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_8timefunc_1timedecorator = {\"timedecorator\", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_8timefunc_1timedecorator, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_8timefunc_1timedecorator(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       ") {\n",
       "  PyObject *__pyx_v_f = 0;\n",
       "  #if !CYTHON_METH_FASTCALL\n",
       "  CYTHON_UNUSED const Py_ssize_t __pyx_nargs = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);\n",
       "  #endif\n",
       "  CYTHON_UNUSED PyObject *const *__pyx_kwvalues = <span class='pyx_c_api'>__Pyx_KwValues_FASTCALL</span>(__pyx_args, __pyx_nargs);\n",
       "  PyObject *__pyx_r = 0;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"timedecorator (wrapper)\", 0);\n",
       "  {\n",
       "    PyObject **__pyx_pyargnames[] = {&amp;__pyx_n_s_f,0};\n",
       "    PyObject* values[1] = {0};\n",
       "    if (__pyx_kwds) {\n",
       "      Py_ssize_t kw_args;\n",
       "      switch (__pyx_nargs) {\n",
       "        case  1: values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "        CYTHON_FALLTHROUGH;\n",
       "        case  0: break;\n",
       "        default: goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      kw_args = <span class='pyx_c_api'>__Pyx_NumKwargs_FASTCALL</span>(__pyx_kwds);\n",
       "      switch (__pyx_nargs) {\n",
       "        case  0:\n",
       "        if (likely((values[0] = <span class='pyx_c_api'>__Pyx_GetKwValue_FASTCALL</span>(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_f)) != 0)) kw_args--;\n",
       "        else if (unlikely(<span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 18, __pyx_L3_error)</span>\n",
       "        else goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      if (unlikely(kw_args &gt; 0)) {\n",
       "        const Py_ssize_t kwd_pos_args = __pyx_nargs;\n",
       "        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, \"timedecorator\") &lt; 0)) <span class='error_goto'>__PYX_ERR(0, 18, __pyx_L3_error)</span>\n",
       "      }\n",
       "    } else if (unlikely(__pyx_nargs != 1)) {\n",
       "      goto __pyx_L5_argtuple_error;\n",
       "    } else {\n",
       "      values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "    }\n",
       "    __pyx_v_f = values[0];\n",
       "  }\n",
       "  goto __pyx_L4_argument_unpacking_done;\n",
       "  __pyx_L5_argtuple_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>(\"timedecorator\", 1, 1, 1, __pyx_nargs); <span class='error_goto'>__PYX_ERR(0, 18, __pyx_L3_error)</span>\n",
       "  __pyx_L3_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c.timefunc.timedecorator\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return NULL;\n",
       "  __pyx_L4_argument_unpacking_done:;\n",
       "  __pyx_r = __pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_8timefunc_timedecorator(__pyx_self, __pyx_v_f);\n",
       "  int __pyx_lineno = 0;\n",
       "  const char *__pyx_filename = NULL;\n",
       "  int __pyx_clineno = 0;\n",
       "\n",
       "  /* function exit code */\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "\n",
       "static PyObject *__pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_8timefunc_timedecorator(PyObject *__pyx_self, PyObject *__pyx_v_f) {\n",
       "  struct __pyx_obj_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c___pyx_scope_struct__timefunc *__pyx_cur_scope;\n",
       "  struct __pyx_obj_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c___pyx_scope_struct__timefunc *__pyx_outer_scope;\n",
       "  int __pyx_v_L;\n",
       "  PyObject *__pyx_v_start = NULL;\n",
       "  PyObject *__pyx_v_end = NULL;\n",
       "  PyObject *__pyx_r = NULL;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"timedecorator\", 0);\n",
       "  __pyx_outer_scope = (struct __pyx_obj_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c___pyx_scope_struct__timefunc *) <span class='pyx_c_api'>__Pyx_CyFunction_GetClosure</span>(__pyx_self);\n",
       "  __pyx_cur_scope = __pyx_outer_scope;\n",
       "/* … */\n",
       "  /* function exit code */\n",
       "  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);\n",
       "  goto __pyx_L0;\n",
       "  __pyx_L1_error:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_6);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c.timefunc.timedecorator\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  __pyx_r = NULL;\n",
       "  __pyx_L0:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_start);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_end);\n",
       "  <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "/* … */\n",
       "  __pyx_tuple__20 = <span class='py_c_api'>PyTuple_Pack</span>(5, __pyx_n_s_f, __pyx_n_s_L, __pyx_n_s_i, __pyx_n_s_start, __pyx_n_s_end);<span class='error_goto'> if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 18, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__20);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__20);\n",
       "/* … */\n",
       "  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_CyFunction_New</span>(&amp;__pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_8timefunc_1timedecorator, 0, __pyx_n_s_timefunc_locals_timedecorator, ((PyObject*)__pyx_cur_scope), __pyx_n_s_cython_magic_fdf74a4c94f4ab3f73, __pyx_d, ((PyObject *)__pyx_codeobj__21));<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  __pyx_v_timedecorator = __pyx_t_1;\n",
       "  __pyx_t_1 = 0;\n",
       "  __pyx_codeobj__21 = (PyObject*)<span class='pyx_c_api'>__Pyx_PyCode_New</span>(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__20, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_THEMATRIXNEO_ipython_cyt, __pyx_n_s_timedecorator, 18, __pyx_empty_bytes);<span class='error_goto'> if (unlikely(!__pyx_codeobj__21)) __PYX_ERR(0, 18, __pyx_L1_error)</span>\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">019</span>:         <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">L</span><span class=\"p\">,</span> <span class=\"nf\">i</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">020</span>: </pre>\n",
       "<pre class=\"cython line score-15\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">021</span>:         <span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s\">&quot;Running&quot;</span><span class=\"p\">,</span> <span class=\"n\">name</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-15 '>  if (unlikely(!__pyx_cur_scope-&gt;__pyx_v_name)) { <span class='pyx_c_api'>__Pyx_RaiseClosureNameError</span>(\"name\"); <span class='error_goto'>__PYX_ERR(0, 21, __pyx_L1_error)</span> }\n",
       "  __pyx_t_1 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_u_Running);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_u_Running);\n",
       "  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_1, 0, __pyx_n_u_Running);\n",
       "  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_cur_scope-&gt;__pyx_v_name);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_cur_scope-&gt;__pyx_v_name);\n",
       "  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_1, 1, __pyx_cur_scope-&gt;__pyx_v_name);\n",
       "  __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_builtin_print, __pyx_t_1, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;\n",
       "</pre><pre class=\"cython line score-18\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">022</span>:         <span class=\"k\">for</span> <span class=\"n\">L</span> <span class=\"ow\">in</span> <span class=\"p\">[</span><span class=\"mf\">1</span><span class=\"p\">,</span> <span class=\"mf\">10</span><span class=\"p\">,</span> <span class=\"mf\">100</span><span class=\"p\">,</span> <span class=\"mf\">1000</span><span class=\"p\">,</span> <span class=\"mf\">10000</span><span class=\"p\">,</span> <span class=\"mf\">100000</span><span class=\"p\">]:</span></pre>\n",
       "<pre class='cython code score-18 '>  __pyx_t_2 = __pyx_tuple__17; <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_2); __pyx_t_3 = 0;\n",
       "  for (;;) {\n",
       "    if (__pyx_t_3 &gt;= 6) break;\n",
       "    #if CYTHON_ASSUME_SAFE_MACROS &amp;&amp; !CYTHON_AVOID_BORROWED_REFS\n",
       "    __pyx_t_1 = <span class='py_macro_api'>PyTuple_GET_ITEM</span>(__pyx_t_2, __pyx_t_3); <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_1); __pyx_t_3++; if (unlikely((0 &lt; 0))) <span class='error_goto'>__PYX_ERR(0, 22, __pyx_L1_error)</span>\n",
       "    #else\n",
       "    __pyx_t_1 = <span class='py_macro_api'>PySequence_ITEM</span>(__pyx_t_2, __pyx_t_3); __pyx_t_3++;<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "    #endif\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(__pyx_t_1); if (unlikely((__pyx_t_4 == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 22, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "    __pyx_v_L = __pyx_t_4;\n",
       "/* … */\n",
       "  }\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;\n",
       "/* … */\n",
       "  __pyx_tuple__17 = <span class='py_c_api'>PyTuple_Pack</span>(6, __pyx_int_1, __pyx_int_10, __pyx_int_100, __pyx_int_1000, __pyx_int_10000, __pyx_int_100000);<span class='error_goto'> if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 22, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__17);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__17);\n",
       "</pre><pre class=\"cython line score-20\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">023</span>:             <span class=\"n\">start</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"o\">.</span><span class=\"n\">process_time</span><span class=\"p\">()</span></pre>\n",
       "<pre class='cython code score-20 '>    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_5, __pyx_n_s_time);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    __pyx_t_6 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_5, __pyx_n_s_process_time);<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = NULL;\n",
       "    __pyx_t_4 = 0;\n",
       "    if (CYTHON_UNPACK_METHODS &amp;&amp; unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_6))) {\n",
       "      __pyx_t_5 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_6);\n",
       "      if (likely(__pyx_t_5)) {\n",
       "        PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_6);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_6, function);\n",
       "        __pyx_t_4 = 1;\n",
       "      }\n",
       "    }\n",
       "    {\n",
       "      PyObject *__pyx_callargs[1] = {__pyx_t_5, };\n",
       "      __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_6, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);\n",
       "      <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "      if (unlikely(!__pyx_t_1)) <span class='error_goto'>__PYX_ERR(0, 23, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;\n",
       "    }\n",
       "    <span class='pyx_macro_api'>__Pyx_XDECREF_SET</span>(__pyx_v_start, __pyx_t_1);\n",
       "    __pyx_t_1 = 0;\n",
       "</pre><pre class=\"cython line score-19\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">024</span>:             <span class=\"n\">f</span><span class=\"p\">(</span><span class=\"n\">L</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-19 '>    __pyx_t_6 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_L);<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 24, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6);\n",
       "    <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_f);\n",
       "    __pyx_t_5 = __pyx_v_f; __pyx_t_7 = NULL;\n",
       "    __pyx_t_4 = 0;\n",
       "    if (CYTHON_UNPACK_METHODS &amp;&amp; unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_5))) {\n",
       "      __pyx_t_7 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_5);\n",
       "      if (likely(__pyx_t_7)) {\n",
       "        PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_5);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_7);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_5, function);\n",
       "        __pyx_t_4 = 1;\n",
       "      }\n",
       "    }\n",
       "    {\n",
       "      PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_6};\n",
       "      __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_5, __pyx_callargs+1-__pyx_t_4, 1+__pyx_t_4);\n",
       "      <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;\n",
       "      if (unlikely(!__pyx_t_1)) <span class='error_goto'>__PYX_ERR(0, 24, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    }\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "</pre><pre class=\"cython line score-20\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">025</span>:             <span class=\"n\">end</span> <span class=\"o\">=</span> <span class=\"n\">time</span><span class=\"o\">.</span><span class=\"n\">process_time</span><span class=\"p\">()</span></pre>\n",
       "<pre class='cython code score-20 '>    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_5, __pyx_n_s_time);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    __pyx_t_6 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_5, __pyx_n_s_process_time);<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = NULL;\n",
       "    __pyx_t_4 = 0;\n",
       "    if (CYTHON_UNPACK_METHODS &amp;&amp; unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_6))) {\n",
       "      __pyx_t_5 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_6);\n",
       "      if (likely(__pyx_t_5)) {\n",
       "        PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_6);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_6, function);\n",
       "        __pyx_t_4 = 1;\n",
       "      }\n",
       "    }\n",
       "    {\n",
       "      PyObject *__pyx_callargs[1] = {__pyx_t_5, };\n",
       "      __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_6, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);\n",
       "      <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "      if (unlikely(!__pyx_t_1)) <span class='error_goto'>__PYX_ERR(0, 25, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;\n",
       "    }\n",
       "    <span class='pyx_macro_api'>__Pyx_XDECREF_SET</span>(__pyx_v_end, __pyx_t_1);\n",
       "    __pyx_t_1 = 0;\n",
       "</pre><pre class=\"cython line score-46\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">026</span>:             <span class=\"k\">print</span><span class=\"p\">(</span><span class=\"n\">format</span><span class=\"p\">((</span><span class=\"n\">end</span><span class=\"o\">-</span><span class=\"n\">start</span><span class=\"p\">)</span> <span class=\"o\">/</span> <span class=\"n\">loops</span> <span class=\"o\">*</span> <span class=\"mf\">1e6</span><span class=\"p\">,</span> <span class=\"s\">&quot;2f&quot;</span><span class=\"p\">),</span> <span class=\"n\">end</span><span class=\"o\">=</span><span class=\"s\">&quot; &quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-46 '>    __pyx_t_1 = <span class='py_c_api'>PyNumber_Subtract</span>(__pyx_v_end, __pyx_v_start);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 26, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "    __pyx_t_6 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_loops);<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 26, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6);\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyNumber_Divide</span>(__pyx_t_1, __pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 26, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;\n",
       "    __pyx_t_6 = <span class='py_c_api'>PyNumber_Multiply</span>(__pyx_t_5, __pyx_float_1e6);<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 26, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 26, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_6);\n",
       "    <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 0, __pyx_t_6);\n",
       "    <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_kp_u_2f);\n",
       "    <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_kp_u_2f);\n",
       "    <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 1, __pyx_kp_u_2f);\n",
       "    __pyx_t_6 = 0;\n",
       "    __pyx_t_6 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_builtin_format, __pyx_t_5, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 26, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 26, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_6);\n",
       "    <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 0, __pyx_t_6);\n",
       "    __pyx_t_6 = 0;\n",
       "    __pyx_t_6 = <span class='pyx_c_api'>__Pyx_PyDict_NewPresized</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 26, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6);\n",
       "    if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_t_6, __pyx_n_s_end, __pyx_kp_u__18) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 26, __pyx_L1_error)</span>\n",
       "    __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_builtin_print, __pyx_t_5, __pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 26, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "</pre><pre class=\"cython line score-23\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">027</span>:             <span class=\"n\">sys</span><span class=\"o\">.</span><span class=\"n\">stdout</span><span class=\"o\">.</span><span class=\"n\">flush</span><span class=\"p\">()</span></pre>\n",
       "<pre class='cython code score-23 '>    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_6, __pyx_n_s_sys);<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 27, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6);\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_6, __pyx_n_s_stdout);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 27, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;\n",
       "    __pyx_t_6 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_5, __pyx_n_s_flush);<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 27, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    __pyx_t_5 = NULL;\n",
       "    __pyx_t_4 = 0;\n",
       "    if (CYTHON_UNPACK_METHODS &amp;&amp; likely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_6))) {\n",
       "      __pyx_t_5 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_6);\n",
       "      if (likely(__pyx_t_5)) {\n",
       "        PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_6);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_6, function);\n",
       "        __pyx_t_4 = 1;\n",
       "      }\n",
       "    }\n",
       "    {\n",
       "      PyObject *__pyx_callargs[1] = {__pyx_t_5, };\n",
       "      __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_6, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);\n",
       "      <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "      if (unlikely(!__pyx_t_1)) <span class='error_goto'>__PYX_ERR(0, 27, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;\n",
       "    }\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">028</span>: </pre>\n",
       "<pre class=\"cython line score-8\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">029</span>:         <span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s\">&quot;μs&quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-8 '>  __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_builtin_print, __pyx_tuple__19, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;\n",
       "/* … */\n",
       "  __pyx_tuple__19 = <span class='py_c_api'>PyTuple_Pack</span>(1, __pyx_n_u_s);<span class='error_goto'> if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 29, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__19);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__19);\n",
       "</pre><pre class=\"cython line score-2\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">030</span>:     <span class=\"k\">return</span> <span class=\"n\">timedecorator</span></pre>\n",
       "<pre class='cython code score-2 '>  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_r);\n",
       "  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_timedecorator);\n",
       "  __pyx_r = __pyx_v_timedecorator;\n",
       "  goto __pyx_L0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">031</span>: </pre>\n",
       "<pre class=\"cython line score-3\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">032</span>: <span class=\"k\">print</span><span class=\"p\">()</span></pre>\n",
       "<pre class='cython code score-3 '>  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_CallNoArg</span>(__pyx_builtin_print);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 32, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-8\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">033</span>: <span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s\">&quot;INITIALISATIONS&quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-8 '>  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_builtin_print, __pyx_tuple__36, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 33, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "/* … */\n",
       "  __pyx_tuple__36 = <span class='py_c_api'>PyTuple_Pack</span>(1, __pyx_n_u_INITIALISATIONS);<span class='error_goto'> if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 33, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__36);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__36);\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">034</span>: <span class=\"n\">loops</span> <span class=\"o\">=</span> <span class=\"mf\">100000</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_v_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_loops = 0x186A0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">035</span>: </pre>\n",
       "<pre class=\"cython line score-77\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">036</span>: <span class=\"nd\">@timefunc</span><span class=\"p\">(</span><span class=\"s\">&quot;cpython.array buffer&quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-77 '>/* Python wrapper */\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_3_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       "); /*proto*/\n",
       "static PyMethodDef __pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_3_ = {\"_\", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_3_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_3_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       ") {\n",
       "  int __pyx_v_L;\n",
       "  #if !CYTHON_METH_FASTCALL\n",
       "  CYTHON_UNUSED const Py_ssize_t __pyx_nargs = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);\n",
       "  #endif\n",
       "  CYTHON_UNUSED PyObject *const *__pyx_kwvalues = <span class='pyx_c_api'>__Pyx_KwValues_FASTCALL</span>(__pyx_args, __pyx_nargs);\n",
       "  PyObject *__pyx_r = 0;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_ (wrapper)\", 0);\n",
       "  {\n",
       "    PyObject **__pyx_pyargnames[] = {&amp;__pyx_n_s_L,0};\n",
       "    PyObject* values[1] = {0};\n",
       "    if (__pyx_kwds) {\n",
       "      Py_ssize_t kw_args;\n",
       "      switch (__pyx_nargs) {\n",
       "        case  1: values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "        CYTHON_FALLTHROUGH;\n",
       "        case  0: break;\n",
       "        default: goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      kw_args = <span class='pyx_c_api'>__Pyx_NumKwargs_FASTCALL</span>(__pyx_kwds);\n",
       "      switch (__pyx_nargs) {\n",
       "        case  0:\n",
       "        if (likely((values[0] = <span class='pyx_c_api'>__Pyx_GetKwValue_FASTCALL</span>(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_L)) != 0)) kw_args--;\n",
       "        else if (unlikely(<span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 36, __pyx_L3_error)</span>\n",
       "        else goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      if (unlikely(kw_args &gt; 0)) {\n",
       "        const Py_ssize_t kwd_pos_args = __pyx_nargs;\n",
       "        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, \"_\") &lt; 0)) <span class='error_goto'>__PYX_ERR(0, 36, __pyx_L3_error)</span>\n",
       "      }\n",
       "    } else if (unlikely(__pyx_nargs != 1)) {\n",
       "      goto __pyx_L5_argtuple_error;\n",
       "    } else {\n",
       "      values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "    }\n",
       "    __pyx_v_L = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[0]); if (unlikely((__pyx_v_L == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 37, __pyx_L3_error)</span>\n",
       "  }\n",
       "  goto __pyx_L4_argument_unpacking_done;\n",
       "  __pyx_L5_argtuple_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>(\"_\", 1, 1, 1, __pyx_nargs); <span class='error_goto'>__PYX_ERR(0, 36, __pyx_L3_error)</span>\n",
       "  __pyx_L3_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return NULL;\n",
       "  __pyx_L4_argument_unpacking_done:;\n",
       "  __pyx_r = __pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_2_(__pyx_self, __pyx_v_L);\n",
       "  int __pyx_lineno = 0;\n",
       "  const char *__pyx_filename = NULL;\n",
       "  int __pyx_clineno = 0;\n",
       "\n",
       "  /* function exit code */\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "\n",
       "static PyObject *__pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_2_(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_L) {\n",
       "  CYTHON_UNUSED int __pyx_v_i;\n",
       "  arrayobject *__pyx_v_arr = 0;\n",
       "  arrayobject *__pyx_v_template = 0;\n",
       "  __Pyx_LocalBuf_ND __pyx_pybuffernd_arr;\n",
       "  __Pyx_Buffer __pyx_pybuffer_arr;\n",
       "  __Pyx_LocalBuf_ND __pyx_pybuffernd_template;\n",
       "  __Pyx_Buffer __pyx_pybuffer_template;\n",
       "  PyObject *__pyx_r = NULL;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_\", 0);\n",
       "  __pyx_pybuffer_arr.pybuffer.buf = NULL;\n",
       "  __pyx_pybuffer_arr.refcount = 0;\n",
       "  __pyx_pybuffernd_arr.data = NULL;\n",
       "  __pyx_pybuffernd_arr.rcbuffer = &amp;__pyx_pybuffer_arr;\n",
       "  __pyx_pybuffer_template.pybuffer.buf = NULL;\n",
       "  __pyx_pybuffer_template.refcount = 0;\n",
       "  __pyx_pybuffernd_template.data = NULL;\n",
       "  __pyx_pybuffernd_template.rcbuffer = &amp;__pyx_pybuffer_template;\n",
       "/* … */\n",
       "  /* function exit code */\n",
       "  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);\n",
       "  goto __pyx_L0;\n",
       "  __pyx_L1_error:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_10);\n",
       "  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;\n",
       "    __Pyx_PyThreadState_declare\n",
       "    __Pyx_PyThreadState_assign\n",
       "    <span class='pyx_c_api'>__Pyx_ErrFetch</span>(&amp;__pyx_type, &amp;__pyx_value, &amp;__pyx_tb);\n",
       "    <span class='pyx_c_api'>__Pyx_SafeReleaseBuffer</span>(&amp;__pyx_pybuffernd_arr.rcbuffer-&gt;pybuffer);\n",
       "    <span class='pyx_c_api'>__Pyx_SafeReleaseBuffer</span>(&amp;__pyx_pybuffernd_template.rcbuffer-&gt;pybuffer);\n",
       "  <span class='pyx_c_api'>__Pyx_ErrRestore</span>(__pyx_type, __pyx_value, __pyx_tb);}\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  __pyx_r = NULL;\n",
       "  goto __pyx_L2;\n",
       "  __pyx_L0:;\n",
       "  <span class='pyx_c_api'>__Pyx_SafeReleaseBuffer</span>(&amp;__pyx_pybuffernd_arr.rcbuffer-&gt;pybuffer);\n",
       "  <span class='pyx_c_api'>__Pyx_SafeReleaseBuffer</span>(&amp;__pyx_pybuffernd_template.rcbuffer-&gt;pybuffer);\n",
       "  __pyx_L2:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>((PyObject *)__pyx_v_arr);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>((PyObject *)__pyx_v_template);\n",
       "  <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "/* … */\n",
       "  <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_7, __pyx_n_s_timefunc);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_7, __pyx_tuple__37, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 36, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "/* … */\n",
       "  __pyx_tuple__37 = <span class='py_c_api'>PyTuple_Pack</span>(1, __pyx_kp_u_cpython_array_buffer);<span class='error_goto'> if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 36, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__37);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__37);\n",
       "  __pyx_tuple__38 = <span class='py_c_api'>PyTuple_Pack</span>(4, __pyx_n_s_L, __pyx_n_s_i, __pyx_n_s_arr, __pyx_n_s_template);<span class='error_goto'> if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 36, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__38);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__38);\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_CyFunction_New</span>(&amp;__pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_3_, 0, __pyx_n_s__40, NULL, __pyx_n_s_cython_magic_fdf74a4c94f4ab3f73, __pyx_d, ((PyObject *)__pyx_codeobj__39));<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_4, __pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 36, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s__40, __pyx_t_5) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 36, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "  __pyx_codeobj__39 = (PyObject*)<span class='pyx_c_api'>__Pyx_PyCode_New</span>(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_THEMATRIXNEO_ipython_cyt, __pyx_n_s__40, 36, __pyx_empty_bytes);<span class='error_goto'> if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 36, __pyx_L1_error)</span>\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">037</span>: <span class=\"k\">def</span> <span class=\"nf\">_</span><span class=\"p\">(</span><span class=\"nb\">int</span> <span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">038</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">i</span></pre>\n",
       "<pre class=\"cython line score-10\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">039</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">array</span>[<span class=\"kt\">double</span>] <span class=\"nf\">arr</span><span class=\"p\">,</span> <span class=\"nf\">template</span> <span class=\"o\">=</span> <span class=\"n\">array</span><span class=\"p\">(</span><span class=\"s\">&#39;d&#39;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-10 '>  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(((PyObject *)__pyx_ptype_7cpython_5array_array), __pyx_tuple__22, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 39, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  {\n",
       "    __Pyx_BufFmt_StackElem __pyx_stack[1];\n",
       "    if (unlikely(<span class='pyx_c_api'>__Pyx_GetBufferAndValidate</span>(&amp;__pyx_pybuffernd_template.rcbuffer-&gt;pybuffer, (PyObject*)((arrayobject *)__pyx_t_1), &amp;__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_INDIRECT, 1, 0, __pyx_stack) == -1)) {\n",
       "      __pyx_v_template = ((arrayobject *)Py_None); <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); __pyx_pybuffernd_template.rcbuffer-&gt;pybuffer.buf = NULL;\n",
       "      <span class='error_goto'>__PYX_ERR(0, 39, __pyx_L1_error)</span>\n",
       "    } else {__pyx_pybuffernd_template.diminfo[0].strides = __pyx_pybuffernd_template.rcbuffer-&gt;pybuffer.strides[0]; __pyx_pybuffernd_template.diminfo[0].shape = __pyx_pybuffernd_template.rcbuffer-&gt;pybuffer.shape[0]; __pyx_pybuffernd_template.diminfo[0].suboffsets = __pyx_pybuffernd_template.rcbuffer-&gt;pybuffer.suboffsets[0];\n",
       "    }\n",
       "  }\n",
       "  __pyx_v_template = ((arrayobject *)__pyx_t_1);\n",
       "  __pyx_t_1 = 0;\n",
       "/* … */\n",
       "  __pyx_tuple__22 = <span class='py_c_api'>PyTuple_Pack</span>(1, __pyx_n_u_d);<span class='error_goto'> if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 39, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__22);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__22);\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">040</span>: </pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">041</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">loops</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_t_2 = __pyx_v_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_loops;\n",
       "  __pyx_t_3 = __pyx_t_2;\n",
       "  for (__pyx_t_4 = 0; __pyx_t_4 &lt; __pyx_t_3; __pyx_t_4+=1) {\n",
       "    __pyx_v_i = __pyx_t_4;\n",
       "</pre><pre class=\"cython line score-19\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">042</span>:         <span class=\"n\">arr</span> <span class=\"o\">=</span> <span class=\"n\">clone</span><span class=\"p\">(</span><span class=\"n\">template</span><span class=\"p\">,</span> <span class=\"n\">L</span><span class=\"p\">,</span> <span class=\"bp\">False</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-19 '>    __pyx_t_1 = ((PyObject *)__pyx_f_7cpython_5array_clone(((arrayobject *)__pyx_v_template), __pyx_v_L, 0));<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 42, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "    {\n",
       "      __Pyx_BufFmt_StackElem __pyx_stack[1];\n",
       "      <span class='pyx_c_api'>__Pyx_SafeReleaseBuffer</span>(&amp;__pyx_pybuffernd_arr.rcbuffer-&gt;pybuffer);\n",
       "      __pyx_t_5 = <span class='pyx_c_api'>__Pyx_GetBufferAndValidate</span>(&amp;__pyx_pybuffernd_arr.rcbuffer-&gt;pybuffer, (PyObject*)((arrayobject *)__pyx_t_1), &amp;__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_INDIRECT, 1, 0, __pyx_stack);\n",
       "      if (unlikely(__pyx_t_5 &lt; 0)) {\n",
       "        <span class='py_c_api'>PyErr_Fetch</span>(&amp;__pyx_t_6, &amp;__pyx_t_7, &amp;__pyx_t_8);\n",
       "        if (unlikely(<span class='pyx_c_api'>__Pyx_GetBufferAndValidate</span>(&amp;__pyx_pybuffernd_arr.rcbuffer-&gt;pybuffer, (PyObject*)__pyx_v_arr, &amp;__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_INDIRECT, 1, 0, __pyx_stack) == -1)) {\n",
       "          Py_XDECREF(__pyx_t_6); Py_XDECREF(__pyx_t_7); Py_XDECREF(__pyx_t_8);\n",
       "          <span class='pyx_c_api'>__Pyx_RaiseBufferFallbackError</span>();\n",
       "        } else {\n",
       "          <span class='py_c_api'>PyErr_Restore</span>(__pyx_t_6, __pyx_t_7, __pyx_t_8);\n",
       "        }\n",
       "        __pyx_t_6 = __pyx_t_7 = __pyx_t_8 = 0;\n",
       "      }\n",
       "      __pyx_pybuffernd_arr.diminfo[0].strides = __pyx_pybuffernd_arr.rcbuffer-&gt;pybuffer.strides[0]; __pyx_pybuffernd_arr.diminfo[0].shape = __pyx_pybuffernd_arr.rcbuffer-&gt;pybuffer.shape[0]; __pyx_pybuffernd_arr.diminfo[0].suboffsets = __pyx_pybuffernd_arr.rcbuffer-&gt;pybuffer.suboffsets[0];\n",
       "      if (unlikely((__pyx_t_5 &lt; 0))) <span class='error_goto'>__PYX_ERR(0, 42, __pyx_L1_error)</span>\n",
       "    }\n",
       "    <span class='pyx_macro_api'>__Pyx_XDECREF_SET</span>(__pyx_v_arr, ((arrayobject *)__pyx_t_1));\n",
       "    __pyx_t_1 = 0;\n",
       "  }\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">043</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">044</span>:     <span class=\"c\"># Prevents dead code elimination</span></pre>\n",
       "<pre class=\"cython line score-9\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">045</span>:     <span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">arr</span><span class=\"p\">[</span><span class=\"mf\">0</span><span class=\"p\">])</span></pre>\n",
       "<pre class='cython code score-9 '>  __pyx_t_9 = 0;\n",
       "  __pyx_t_1 = <span class='py_c_api'>PyFloat_FromDouble</span>((*__Pyx_BufPtrFull1d(double *, __pyx_pybuffernd_arr.rcbuffer-&gt;pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_arr.diminfo[0].strides, __pyx_pybuffernd_arr.diminfo[0].suboffsets)));<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  __pyx_t_10 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_1);<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 45, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_10);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_10); __pyx_t_10 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">046</span>: </pre>\n",
       "<pre class=\"cython line score-59\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">047</span>: <span class=\"nd\">@timefunc</span><span class=\"p\">(</span><span class=\"s\">&quot;cpython.array memoryview&quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-59 '>/* Python wrapper */\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_5_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       "); /*proto*/\n",
       "static PyMethodDef __pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_5_ = {\"_\", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_5_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_5_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       ") {\n",
       "  int __pyx_v_L;\n",
       "  #if !CYTHON_METH_FASTCALL\n",
       "  CYTHON_UNUSED const Py_ssize_t __pyx_nargs = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);\n",
       "  #endif\n",
       "  CYTHON_UNUSED PyObject *const *__pyx_kwvalues = <span class='pyx_c_api'>__Pyx_KwValues_FASTCALL</span>(__pyx_args, __pyx_nargs);\n",
       "  PyObject *__pyx_r = 0;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_ (wrapper)\", 0);\n",
       "  {\n",
       "    PyObject **__pyx_pyargnames[] = {&amp;__pyx_n_s_L,0};\n",
       "    PyObject* values[1] = {0};\n",
       "    if (__pyx_kwds) {\n",
       "      Py_ssize_t kw_args;\n",
       "      switch (__pyx_nargs) {\n",
       "        case  1: values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "        CYTHON_FALLTHROUGH;\n",
       "        case  0: break;\n",
       "        default: goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      kw_args = <span class='pyx_c_api'>__Pyx_NumKwargs_FASTCALL</span>(__pyx_kwds);\n",
       "      switch (__pyx_nargs) {\n",
       "        case  0:\n",
       "        if (likely((values[0] = <span class='pyx_c_api'>__Pyx_GetKwValue_FASTCALL</span>(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_L)) != 0)) kw_args--;\n",
       "        else if (unlikely(<span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 47, __pyx_L3_error)</span>\n",
       "        else goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      if (unlikely(kw_args &gt; 0)) {\n",
       "        const Py_ssize_t kwd_pos_args = __pyx_nargs;\n",
       "        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, \"_\") &lt; 0)) <span class='error_goto'>__PYX_ERR(0, 47, __pyx_L3_error)</span>\n",
       "      }\n",
       "    } else if (unlikely(__pyx_nargs != 1)) {\n",
       "      goto __pyx_L5_argtuple_error;\n",
       "    } else {\n",
       "      values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "    }\n",
       "    __pyx_v_L = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[0]); if (unlikely((__pyx_v_L == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 48, __pyx_L3_error)</span>\n",
       "  }\n",
       "  goto __pyx_L4_argument_unpacking_done;\n",
       "  __pyx_L5_argtuple_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>(\"_\", 1, 1, 1, __pyx_nargs); <span class='error_goto'>__PYX_ERR(0, 47, __pyx_L3_error)</span>\n",
       "  __pyx_L3_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return NULL;\n",
       "  __pyx_L4_argument_unpacking_done:;\n",
       "  __pyx_r = __pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_4_(__pyx_self, __pyx_v_L);\n",
       "  int __pyx_lineno = 0;\n",
       "  const char *__pyx_filename = NULL;\n",
       "  int __pyx_clineno = 0;\n",
       "\n",
       "  /* function exit code */\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "\n",
       "static PyObject *__pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_4_(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_L) {\n",
       "  CYTHON_UNUSED int __pyx_v_i;\n",
       "  __Pyx_memviewslice __pyx_v_arr = { 0, 0, { 0 }, { 0 }, { 0 } };\n",
       "  arrayobject *__pyx_v_template = 0;\n",
       "  PyObject *__pyx_r = NULL;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_\", 0);\n",
       "/* … */\n",
       "  /* function exit code */\n",
       "  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);\n",
       "  goto __pyx_L0;\n",
       "  __pyx_L1_error:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1);\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_t_5, 1);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  __pyx_r = NULL;\n",
       "  __pyx_L0:;\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_v_arr, 1);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>((PyObject *)__pyx_v_template);\n",
       "  <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "/* … */\n",
       "  <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_5, __pyx_n_s_timefunc);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_5, __pyx_tuple__41, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 47, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "/* … */\n",
       "  __pyx_tuple__41 = <span class='py_c_api'>PyTuple_Pack</span>(1, __pyx_kp_u_cpython_array_memoryview);<span class='error_goto'> if (unlikely(!__pyx_tuple__41)) __PYX_ERR(0, 47, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__41);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__41);\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_CyFunction_New</span>(&amp;__pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_5_, 0, __pyx_n_s__40, NULL, __pyx_n_s_cython_magic_fdf74a4c94f4ab3f73, __pyx_d, ((PyObject *)__pyx_codeobj__42));<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_7, __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 47, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s__40, __pyx_t_4) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 47, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  __pyx_codeobj__42 = (PyObject*)<span class='pyx_c_api'>__Pyx_PyCode_New</span>(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_THEMATRIXNEO_ipython_cyt, __pyx_n_s__40, 47, __pyx_empty_bytes);<span class='error_goto'> if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(0, 47, __pyx_L1_error)</span>\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">048</span>: <span class=\"k\">def</span> <span class=\"nf\">_</span><span class=\"p\">(</span><span class=\"nb\">int</span> <span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">049</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">i</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">050</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span>[<span class=\"p\">::</span><span class=\"mf\">1</span><span class=\"p\">]</span> <span class=\"n\">arr</span></pre>\n",
       "<pre class=\"cython line score-2\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">051</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">array</span> <span class=\"nf\">template</span> <span class=\"o\">=</span> <span class=\"n\">array</span><span class=\"p\">(</span><span class=\"s\">&#39;d&#39;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-2 '>  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(((PyObject *)__pyx_ptype_7cpython_5array_array), __pyx_tuple__22, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 51, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  __pyx_v_template = ((arrayobject *)__pyx_t_1);\n",
       "  __pyx_t_1 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">052</span>: </pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">053</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">loops</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_t_2 = __pyx_v_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_loops;\n",
       "  __pyx_t_3 = __pyx_t_2;\n",
       "  for (__pyx_t_4 = 0; __pyx_t_4 &lt; __pyx_t_3; __pyx_t_4+=1) {\n",
       "    __pyx_v_i = __pyx_t_4;\n",
       "</pre><pre class=\"cython line score-3\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">054</span>:         <span class=\"n\">arr</span> <span class=\"o\">=</span> <span class=\"n\">clone</span><span class=\"p\">(</span><span class=\"n\">template</span><span class=\"p\">,</span> <span class=\"n\">L</span><span class=\"p\">,</span> <span class=\"bp\">False</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-3 '>    __pyx_t_1 = ((PyObject *)__pyx_f_7cpython_5array_clone(__pyx_v_template, __pyx_v_L, 0));<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 54, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "    __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_to_MemoryviewSlice_dc_double</span>(__pyx_t_1, PyBUF_WRITABLE);<span class='error_goto'> if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 54, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "    __PYX_XCLEAR_MEMVIEW(&amp;__pyx_v_arr, 1);\n",
       "    __pyx_v_arr = __pyx_t_5;\n",
       "    __pyx_t_5.memview = NULL;\n",
       "    __pyx_t_5.data = NULL;\n",
       "  }\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">055</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">056</span>:     <span class=\"c\"># Prevents dead code elimination</span></pre>\n",
       "<pre class=\"cython line score-11\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">057</span>:     <span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">arr</span><span class=\"p\">[</span><span class=\"mf\">0</span><span class=\"p\">])</span></pre>\n",
       "<pre class='cython code score-11 '>  if (unlikely(!__pyx_v_arr.memview)) { <span class='pyx_c_api'>__Pyx_RaiseUnboundLocalError</span>(\"arr\"); <span class='error_goto'>__PYX_ERR(0, 57, __pyx_L1_error)</span> }\n",
       "  __pyx_t_6 = 0;\n",
       "  __pyx_t_1 = <span class='py_c_api'>PyFloat_FromDouble</span>((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_arr.data) + __pyx_t_6)) ))));<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 57, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_1);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 57, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">058</span>: </pre>\n",
       "<pre class=\"cython line score-60\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">059</span>: <span class=\"nd\">@timefunc</span><span class=\"p\">(</span><span class=\"s\">&quot;cpython.array raw C type&quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-60 '>/* Python wrapper */\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_7_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       "); /*proto*/\n",
       "static PyMethodDef __pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_7_ = {\"_\", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_7_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_7_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       ") {\n",
       "  int __pyx_v_L;\n",
       "  #if !CYTHON_METH_FASTCALL\n",
       "  CYTHON_UNUSED const Py_ssize_t __pyx_nargs = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);\n",
       "  #endif\n",
       "  CYTHON_UNUSED PyObject *const *__pyx_kwvalues = <span class='pyx_c_api'>__Pyx_KwValues_FASTCALL</span>(__pyx_args, __pyx_nargs);\n",
       "  PyObject *__pyx_r = 0;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_ (wrapper)\", 0);\n",
       "  {\n",
       "    PyObject **__pyx_pyargnames[] = {&amp;__pyx_n_s_L,0};\n",
       "    PyObject* values[1] = {0};\n",
       "    if (__pyx_kwds) {\n",
       "      Py_ssize_t kw_args;\n",
       "      switch (__pyx_nargs) {\n",
       "        case  1: values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "        CYTHON_FALLTHROUGH;\n",
       "        case  0: break;\n",
       "        default: goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      kw_args = <span class='pyx_c_api'>__Pyx_NumKwargs_FASTCALL</span>(__pyx_kwds);\n",
       "      switch (__pyx_nargs) {\n",
       "        case  0:\n",
       "        if (likely((values[0] = <span class='pyx_c_api'>__Pyx_GetKwValue_FASTCALL</span>(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_L)) != 0)) kw_args--;\n",
       "        else if (unlikely(<span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 59, __pyx_L3_error)</span>\n",
       "        else goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      if (unlikely(kw_args &gt; 0)) {\n",
       "        const Py_ssize_t kwd_pos_args = __pyx_nargs;\n",
       "        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, \"_\") &lt; 0)) <span class='error_goto'>__PYX_ERR(0, 59, __pyx_L3_error)</span>\n",
       "      }\n",
       "    } else if (unlikely(__pyx_nargs != 1)) {\n",
       "      goto __pyx_L5_argtuple_error;\n",
       "    } else {\n",
       "      values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "    }\n",
       "    __pyx_v_L = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[0]); if (unlikely((__pyx_v_L == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 60, __pyx_L3_error)</span>\n",
       "  }\n",
       "  goto __pyx_L4_argument_unpacking_done;\n",
       "  __pyx_L5_argtuple_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>(\"_\", 1, 1, 1, __pyx_nargs); <span class='error_goto'>__PYX_ERR(0, 59, __pyx_L3_error)</span>\n",
       "  __pyx_L3_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return NULL;\n",
       "  __pyx_L4_argument_unpacking_done:;\n",
       "  __pyx_r = __pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_6_(__pyx_self, __pyx_v_L);\n",
       "  int __pyx_lineno = 0;\n",
       "  const char *__pyx_filename = NULL;\n",
       "  int __pyx_clineno = 0;\n",
       "\n",
       "  /* function exit code */\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "\n",
       "static PyObject *__pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_6_(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_L) {\n",
       "  CYTHON_UNUSED int __pyx_v_i;\n",
       "  arrayobject *__pyx_v_arr = 0;\n",
       "  arrayobject *__pyx_v_template = 0;\n",
       "  PyObject *__pyx_r = NULL;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_\", 0);\n",
       "/* … */\n",
       "  /* function exit code */\n",
       "  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);\n",
       "  goto __pyx_L0;\n",
       "  __pyx_L1_error:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  __pyx_r = NULL;\n",
       "  __pyx_L0:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>((PyObject *)__pyx_v_arr);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>((PyObject *)__pyx_v_template);\n",
       "  <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "/* … */\n",
       "  <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_4, __pyx_n_s_timefunc);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 59, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_4, __pyx_tuple__43, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 59, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "/* … */\n",
       "  __pyx_tuple__43 = <span class='py_c_api'>PyTuple_Pack</span>(1, __pyx_kp_u_cpython_array_raw_C_type);<span class='error_goto'> if (unlikely(!__pyx_tuple__43)) __PYX_ERR(0, 59, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__43);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__43);\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_CyFunction_New</span>(&amp;__pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_7_, 0, __pyx_n_s__40, NULL, __pyx_n_s_cython_magic_fdf74a4c94f4ab3f73, __pyx_d, ((PyObject *)__pyx_codeobj__44));<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 59, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_5, __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 59, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s__40, __pyx_t_7) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 59, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  __pyx_codeobj__44 = (PyObject*)<span class='pyx_c_api'>__Pyx_PyCode_New</span>(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_THEMATRIXNEO_ipython_cyt, __pyx_n_s__40, 59, __pyx_empty_bytes);<span class='error_goto'> if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(0, 59, __pyx_L1_error)</span>\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">060</span>: <span class=\"k\">def</span> <span class=\"nf\">_</span><span class=\"p\">(</span><span class=\"nb\">int</span> <span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">061</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">i</span></pre>\n",
       "<pre class=\"cython line score-2\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">062</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">array</span> <span class=\"nf\">arr</span><span class=\"p\">,</span> <span class=\"nf\">template</span> <span class=\"o\">=</span> <span class=\"n\">array</span><span class=\"p\">(</span><span class=\"s\">&#39;d&#39;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-2 '>  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(((PyObject *)__pyx_ptype_7cpython_5array_array), __pyx_tuple__22, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 62, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  __pyx_v_template = ((arrayobject *)__pyx_t_1);\n",
       "  __pyx_t_1 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">063</span>: </pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">064</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">loops</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_t_2 = __pyx_v_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_loops;\n",
       "  __pyx_t_3 = __pyx_t_2;\n",
       "  for (__pyx_t_4 = 0; __pyx_t_4 &lt; __pyx_t_3; __pyx_t_4+=1) {\n",
       "    __pyx_v_i = __pyx_t_4;\n",
       "</pre><pre class=\"cython line score-1\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">065</span>:         <span class=\"n\">arr</span> <span class=\"o\">=</span> <span class=\"n\">clone</span><span class=\"p\">(</span><span class=\"n\">template</span><span class=\"p\">,</span> <span class=\"n\">L</span><span class=\"p\">,</span> <span class=\"bp\">False</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-1 '>    __pyx_t_1 = ((PyObject *)__pyx_f_7cpython_5array_clone(__pyx_v_template, __pyx_v_L, 0));<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "    <span class='pyx_macro_api'>__Pyx_XDECREF_SET</span>(__pyx_v_arr, ((arrayobject *)__pyx_t_1));\n",
       "    __pyx_t_1 = 0;\n",
       "  }\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">066</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">067</span>:     <span class=\"c\"># Prevents dead code elimination</span></pre>\n",
       "<pre class=\"cython line score-8\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">068</span>:     <span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">arr</span><span class=\"p\">[</span><span class=\"mf\">0</span><span class=\"p\">])</span></pre>\n",
       "<pre class='cython code score-8 '>  if (unlikely(!__pyx_v_arr)) { <span class='pyx_c_api'>__Pyx_RaiseUnboundLocalError</span>(\"arr\"); <span class='error_goto'>__PYX_ERR(0, 68, __pyx_L1_error)</span> }\n",
       "  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_GetItemInt</span>(((PyObject *)__pyx_v_arr), 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 0);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_1);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 68, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">069</span>: </pre>\n",
       "<pre class=\"cython line score-61\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">070</span>: <span class=\"nd\">@timefunc</span><span class=\"p\">(</span><span class=\"s\">&quot;numpy.empty_like memoryview&quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-61 '>/* Python wrapper */\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_9_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       "); /*proto*/\n",
       "static PyMethodDef __pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_9_ = {\"_\", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_9_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_9_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       ") {\n",
       "  int __pyx_v_L;\n",
       "  #if !CYTHON_METH_FASTCALL\n",
       "  CYTHON_UNUSED const Py_ssize_t __pyx_nargs = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);\n",
       "  #endif\n",
       "  CYTHON_UNUSED PyObject *const *__pyx_kwvalues = <span class='pyx_c_api'>__Pyx_KwValues_FASTCALL</span>(__pyx_args, __pyx_nargs);\n",
       "  PyObject *__pyx_r = 0;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_ (wrapper)\", 0);\n",
       "  {\n",
       "    PyObject **__pyx_pyargnames[] = {&amp;__pyx_n_s_L,0};\n",
       "    PyObject* values[1] = {0};\n",
       "    if (__pyx_kwds) {\n",
       "      Py_ssize_t kw_args;\n",
       "      switch (__pyx_nargs) {\n",
       "        case  1: values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "        CYTHON_FALLTHROUGH;\n",
       "        case  0: break;\n",
       "        default: goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      kw_args = <span class='pyx_c_api'>__Pyx_NumKwargs_FASTCALL</span>(__pyx_kwds);\n",
       "      switch (__pyx_nargs) {\n",
       "        case  0:\n",
       "        if (likely((values[0] = <span class='pyx_c_api'>__Pyx_GetKwValue_FASTCALL</span>(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_L)) != 0)) kw_args--;\n",
       "        else if (unlikely(<span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 70, __pyx_L3_error)</span>\n",
       "        else goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      if (unlikely(kw_args &gt; 0)) {\n",
       "        const Py_ssize_t kwd_pos_args = __pyx_nargs;\n",
       "        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, \"_\") &lt; 0)) <span class='error_goto'>__PYX_ERR(0, 70, __pyx_L3_error)</span>\n",
       "      }\n",
       "    } else if (unlikely(__pyx_nargs != 1)) {\n",
       "      goto __pyx_L5_argtuple_error;\n",
       "    } else {\n",
       "      values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "    }\n",
       "    __pyx_v_L = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[0]); if (unlikely((__pyx_v_L == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 71, __pyx_L3_error)</span>\n",
       "  }\n",
       "  goto __pyx_L4_argument_unpacking_done;\n",
       "  __pyx_L5_argtuple_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>(\"_\", 1, 1, 1, __pyx_nargs); <span class='error_goto'>__PYX_ERR(0, 70, __pyx_L3_error)</span>\n",
       "  __pyx_L3_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return NULL;\n",
       "  __pyx_L4_argument_unpacking_done:;\n",
       "  __pyx_r = __pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_8_(__pyx_self, __pyx_v_L);\n",
       "  int __pyx_lineno = 0;\n",
       "  const char *__pyx_filename = NULL;\n",
       "  int __pyx_clineno = 0;\n",
       "\n",
       "  /* function exit code */\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "\n",
       "static PyObject *__pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_8_(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_L) {\n",
       "  CYTHON_UNUSED int __pyx_v_i;\n",
       "  __Pyx_memviewslice __pyx_v_arr = { 0, 0, { 0 }, { 0 }, { 0 } };\n",
       "  PyObject *__pyx_v_template = NULL;\n",
       "  PyObject *__pyx_r = NULL;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_\", 0);\n",
       "/* … */\n",
       "  /* function exit code */\n",
       "  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);\n",
       "  goto __pyx_L0;\n",
       "  __pyx_L1_error:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4);\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_t_9, 1);\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  __pyx_r = NULL;\n",
       "  __pyx_L0:;\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_v_arr, 1);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_v_template);\n",
       "  <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "/* … */\n",
       "  <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_7, __pyx_n_s_timefunc);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 70, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_7, __pyx_tuple__45, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 70, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "/* … */\n",
       "  __pyx_tuple__45 = <span class='py_c_api'>PyTuple_Pack</span>(1, __pyx_kp_u_numpy_empty_like_memoryview);<span class='error_goto'> if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 70, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__45);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__45);\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_CyFunction_New</span>(&amp;__pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_9_, 0, __pyx_n_s__40, NULL, __pyx_n_s_cython_magic_fdf74a4c94f4ab3f73, __pyx_d, ((PyObject *)__pyx_codeobj__46));<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 70, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_4, __pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 70, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s__40, __pyx_t_5) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 70, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "  __pyx_codeobj__46 = (PyObject*)<span class='pyx_c_api'>__Pyx_PyCode_New</span>(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_THEMATRIXNEO_ipython_cyt, __pyx_n_s__40, 70, __pyx_empty_bytes);<span class='error_goto'> if (unlikely(!__pyx_codeobj__46)) __PYX_ERR(0, 70, __pyx_L1_error)</span>\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">071</span>: <span class=\"k\">def</span> <span class=\"nf\">_</span><span class=\"p\">(</span><span class=\"nb\">int</span> <span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">072</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">i</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">073</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span>[<span class=\"p\">::</span><span class=\"mf\">1</span><span class=\"p\">]</span> <span class=\"n\">arr</span></pre>\n",
       "<pre class=\"cython line score-31\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">074</span>:     <span class=\"n\">template</span> <span class=\"o\">=</span> <span class=\"n\">numpy</span><span class=\"o\">.</span><span class=\"n\">empty</span><span class=\"p\">((</span><span class=\"n\">L</span><span class=\"p\">,),</span> <span class=\"n\">dtype</span><span class=\"o\">=</span><span class=\"s\">&#39;double&#39;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-31 '>  <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_1, __pyx_n_s_numpy);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_1, __pyx_n_s_empty);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 74, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_L);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  __pyx_t_3 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 74, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1);\n",
       "  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 0, __pyx_t_1);\n",
       "  __pyx_t_1 = 0;\n",
       "  __pyx_t_1 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_3);\n",
       "  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_1, 0, __pyx_t_3);\n",
       "  __pyx_t_3 = 0;\n",
       "  __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyDict_NewPresized</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 74, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3);\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_t_3, __pyx_n_s_dtype, __pyx_n_u_double) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 74, __pyx_L1_error)</span>\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_2, __pyx_t_1, __pyx_t_3);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 74, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;\n",
       "  __pyx_v_template = __pyx_t_4;\n",
       "  __pyx_t_4 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">075</span>: </pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">076</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">loops</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_t_5 = __pyx_v_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_loops;\n",
       "  __pyx_t_6 = __pyx_t_5;\n",
       "  for (__pyx_t_7 = 0; __pyx_t_7 &lt; __pyx_t_6; __pyx_t_7+=1) {\n",
       "    __pyx_v_i = __pyx_t_7;\n",
       "</pre><pre class=\"cython line score-22\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">077</span>:         <span class=\"n\">arr</span> <span class=\"o\">=</span> <span class=\"n\">numpy</span><span class=\"o\">.</span><span class=\"n\">empty_like</span><span class=\"p\">(</span><span class=\"n\">template</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-22 '>    <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_3, __pyx_n_s_numpy);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 77, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3);\n",
       "    __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_3, __pyx_n_s_empty_like);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 77, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;\n",
       "    __pyx_t_3 = NULL;\n",
       "    __pyx_t_8 = 0;\n",
       "    if (CYTHON_UNPACK_METHODS &amp;&amp; unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_1))) {\n",
       "      __pyx_t_3 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_1);\n",
       "      if (likely(__pyx_t_3)) {\n",
       "        PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_1);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_3);\n",
       "        <span class='pyx_macro_api'>__Pyx_INCREF</span>(function);\n",
       "        <span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_1, function);\n",
       "        __pyx_t_8 = 1;\n",
       "      }\n",
       "    }\n",
       "    {\n",
       "      PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_template};\n",
       "      __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_FastCall</span>(__pyx_t_1, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8);\n",
       "      <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0;\n",
       "      if (unlikely(!__pyx_t_4)) <span class='error_goto'>__PYX_ERR(0, 77, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "    }\n",
       "    __pyx_t_9 = <span class='pyx_c_api'>__Pyx_PyObject_to_MemoryviewSlice_dc_double</span>(__pyx_t_4, PyBUF_WRITABLE);<span class='error_goto'> if (unlikely(!__pyx_t_9.memview)) __PYX_ERR(0, 77, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __PYX_XCLEAR_MEMVIEW(&amp;__pyx_v_arr, 1);\n",
       "    __pyx_v_arr = __pyx_t_9;\n",
       "    __pyx_t_9.memview = NULL;\n",
       "    __pyx_t_9.data = NULL;\n",
       "  }\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">078</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">079</span>:     <span class=\"c\"># Prevents dead code elimination</span></pre>\n",
       "<pre class=\"cython line score-11\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">080</span>:     <span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">arr</span><span class=\"p\">[</span><span class=\"mf\">0</span><span class=\"p\">])</span></pre>\n",
       "<pre class='cython code score-11 '>  if (unlikely(!__pyx_v_arr.memview)) { <span class='pyx_c_api'>__Pyx_RaiseUnboundLocalError</span>(\"arr\"); <span class='error_goto'>__PYX_ERR(0, 80, __pyx_L1_error)</span> }\n",
       "  __pyx_t_10 = 0;\n",
       "  __pyx_t_4 = <span class='py_c_api'>PyFloat_FromDouble</span>((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_arr.data) + __pyx_t_10)) ))));<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 80, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 80, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">081</span>: </pre>\n",
       "<pre class=\"cython line score-63\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">082</span>: <span class=\"nd\">@timefunc</span><span class=\"p\">(</span><span class=\"s\">&quot;malloc&quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-63 '>/* Python wrapper */\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_11_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       "); /*proto*/\n",
       "static PyMethodDef __pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_11_ = {\"_\", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_11_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_11_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       ") {\n",
       "  int __pyx_v_L;\n",
       "  #if !CYTHON_METH_FASTCALL\n",
       "  CYTHON_UNUSED const Py_ssize_t __pyx_nargs = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);\n",
       "  #endif\n",
       "  CYTHON_UNUSED PyObject *const *__pyx_kwvalues = <span class='pyx_c_api'>__Pyx_KwValues_FASTCALL</span>(__pyx_args, __pyx_nargs);\n",
       "  PyObject *__pyx_r = 0;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_ (wrapper)\", 0);\n",
       "  {\n",
       "    PyObject **__pyx_pyargnames[] = {&amp;__pyx_n_s_L,0};\n",
       "    PyObject* values[1] = {0};\n",
       "    if (__pyx_kwds) {\n",
       "      Py_ssize_t kw_args;\n",
       "      switch (__pyx_nargs) {\n",
       "        case  1: values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "        CYTHON_FALLTHROUGH;\n",
       "        case  0: break;\n",
       "        default: goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      kw_args = <span class='pyx_c_api'>__Pyx_NumKwargs_FASTCALL</span>(__pyx_kwds);\n",
       "      switch (__pyx_nargs) {\n",
       "        case  0:\n",
       "        if (likely((values[0] = <span class='pyx_c_api'>__Pyx_GetKwValue_FASTCALL</span>(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_L)) != 0)) kw_args--;\n",
       "        else if (unlikely(<span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 82, __pyx_L3_error)</span>\n",
       "        else goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      if (unlikely(kw_args &gt; 0)) {\n",
       "        const Py_ssize_t kwd_pos_args = __pyx_nargs;\n",
       "        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, \"_\") &lt; 0)) <span class='error_goto'>__PYX_ERR(0, 82, __pyx_L3_error)</span>\n",
       "      }\n",
       "    } else if (unlikely(__pyx_nargs != 1)) {\n",
       "      goto __pyx_L5_argtuple_error;\n",
       "    } else {\n",
       "      values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "    }\n",
       "    __pyx_v_L = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[0]); if (unlikely((__pyx_v_L == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 83, __pyx_L3_error)</span>\n",
       "  }\n",
       "  goto __pyx_L4_argument_unpacking_done;\n",
       "  __pyx_L5_argtuple_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>(\"_\", 1, 1, 1, __pyx_nargs); <span class='error_goto'>__PYX_ERR(0, 82, __pyx_L3_error)</span>\n",
       "  __pyx_L3_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return NULL;\n",
       "  __pyx_L4_argument_unpacking_done:;\n",
       "  __pyx_r = __pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_10_(__pyx_self, __pyx_v_L);\n",
       "  int __pyx_lineno = 0;\n",
       "  const char *__pyx_filename = NULL;\n",
       "  int __pyx_clineno = 0;\n",
       "\n",
       "  /* function exit code */\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "\n",
       "static PyObject *__pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_10_(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_L) {\n",
       "  CYTHON_UNUSED int __pyx_v_i;\n",
       "  double *__pyx_v_arrptr;\n",
       "  PyObject *__pyx_r = NULL;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_\", 0);\n",
       "/* … */\n",
       "  /* function exit code */\n",
       "  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);\n",
       "  goto __pyx_L0;\n",
       "  __pyx_L1_error:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  __pyx_r = NULL;\n",
       "  __pyx_L0:;\n",
       "  <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "/* … */\n",
       "  <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_5, __pyx_n_s_timefunc);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 82, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_5, __pyx_tuple__47, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 82, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "/* … */\n",
       "  __pyx_tuple__47 = <span class='py_c_api'>PyTuple_Pack</span>(1, __pyx_n_u_malloc);<span class='error_goto'> if (unlikely(!__pyx_tuple__47)) __PYX_ERR(0, 82, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__47);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__47);\n",
       "  __pyx_tuple__48 = <span class='py_c_api'>PyTuple_Pack</span>(3, __pyx_n_s_L, __pyx_n_s_i, __pyx_n_s_arrptr);<span class='error_goto'> if (unlikely(!__pyx_tuple__48)) __PYX_ERR(0, 82, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__48);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__48);\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_CyFunction_New</span>(&amp;__pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_11_, 0, __pyx_n_s__40, NULL, __pyx_n_s_cython_magic_fdf74a4c94f4ab3f73, __pyx_d, ((PyObject *)__pyx_codeobj__49));<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 82, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_7, __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 82, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s__40, __pyx_t_4) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 82, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  __pyx_codeobj__49 = (PyObject*)<span class='pyx_c_api'>__Pyx_PyCode_New</span>(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__48, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_THEMATRIXNEO_ipython_cyt, __pyx_n_s__40, 82, __pyx_empty_bytes);<span class='error_goto'> if (unlikely(!__pyx_codeobj__49)) __PYX_ERR(0, 82, __pyx_L1_error)</span>\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">083</span>: <span class=\"k\">def</span> <span class=\"nf\">_</span><span class=\"p\">(</span><span class=\"nb\">int</span> <span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">084</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">i</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">085</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span>* <span class=\"nf\">arrptr</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">086</span>: </pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">087</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">loops</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_t_1 = __pyx_v_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_loops;\n",
       "  __pyx_t_2 = __pyx_t_1;\n",
       "  for (__pyx_t_3 = 0; __pyx_t_3 &lt; __pyx_t_2; __pyx_t_3+=1) {\n",
       "    __pyx_v_i = __pyx_t_3;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">088</span>:         <span class=\"n\">arrptr</span> <span class=\"o\">=</span> <span class=\"o\">&lt;</span><span class=\"n\">double</span><span class=\"o\">*&gt;</span> <span class=\"n\">malloc</span><span class=\"p\">(</span><span class=\"n\">sizeof</span><span class=\"p\">(</span><span class=\"n\">double</span><span class=\"p\">)</span> <span class=\"o\">*</span> <span class=\"n\">L</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-0 '>    __pyx_v_arrptr = ((double *)malloc(((sizeof(double)) * __pyx_v_L)));\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">089</span>:         <span class=\"n\">free</span><span class=\"p\">(</span><span class=\"n\">arrptr</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-0 '>    free(__pyx_v_arrptr);\n",
       "  }\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">090</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">091</span>:     <span class=\"c\"># Prevents dead code elimination</span></pre>\n",
       "<pre class=\"cython line score-9\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">092</span>:     <span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">arrptr</span><span class=\"p\">[</span><span class=\"mf\">0</span><span class=\"p\">])</span></pre>\n",
       "<pre class='cython code score-9 '>  __pyx_t_4 = <span class='py_c_api'>PyFloat_FromDouble</span>((__pyx_v_arrptr[0]));<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 92, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 92, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">093</span>: </pre>\n",
       "<pre class=\"cython line score-64\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">094</span>: <span class=\"nd\">@timefunc</span><span class=\"p\">(</span><span class=\"s\">&quot;malloc memoryview&quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-64 '>/* Python wrapper */\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_13_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       "); /*proto*/\n",
       "static PyMethodDef __pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_13_ = {\"_\", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_13_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_13_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       ") {\n",
       "  int __pyx_v_L;\n",
       "  #if !CYTHON_METH_FASTCALL\n",
       "  CYTHON_UNUSED const Py_ssize_t __pyx_nargs = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);\n",
       "  #endif\n",
       "  CYTHON_UNUSED PyObject *const *__pyx_kwvalues = <span class='pyx_c_api'>__Pyx_KwValues_FASTCALL</span>(__pyx_args, __pyx_nargs);\n",
       "  PyObject *__pyx_r = 0;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_ (wrapper)\", 0);\n",
       "  {\n",
       "    PyObject **__pyx_pyargnames[] = {&amp;__pyx_n_s_L,0};\n",
       "    PyObject* values[1] = {0};\n",
       "    if (__pyx_kwds) {\n",
       "      Py_ssize_t kw_args;\n",
       "      switch (__pyx_nargs) {\n",
       "        case  1: values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "        CYTHON_FALLTHROUGH;\n",
       "        case  0: break;\n",
       "        default: goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      kw_args = <span class='pyx_c_api'>__Pyx_NumKwargs_FASTCALL</span>(__pyx_kwds);\n",
       "      switch (__pyx_nargs) {\n",
       "        case  0:\n",
       "        if (likely((values[0] = <span class='pyx_c_api'>__Pyx_GetKwValue_FASTCALL</span>(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_L)) != 0)) kw_args--;\n",
       "        else if (unlikely(<span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 94, __pyx_L3_error)</span>\n",
       "        else goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      if (unlikely(kw_args &gt; 0)) {\n",
       "        const Py_ssize_t kwd_pos_args = __pyx_nargs;\n",
       "        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, \"_\") &lt; 0)) <span class='error_goto'>__PYX_ERR(0, 94, __pyx_L3_error)</span>\n",
       "      }\n",
       "    } else if (unlikely(__pyx_nargs != 1)) {\n",
       "      goto __pyx_L5_argtuple_error;\n",
       "    } else {\n",
       "      values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "    }\n",
       "    __pyx_v_L = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[0]); if (unlikely((__pyx_v_L == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 95, __pyx_L3_error)</span>\n",
       "  }\n",
       "  goto __pyx_L4_argument_unpacking_done;\n",
       "  __pyx_L5_argtuple_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>(\"_\", 1, 1, 1, __pyx_nargs); <span class='error_goto'>__PYX_ERR(0, 94, __pyx_L3_error)</span>\n",
       "  __pyx_L3_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return NULL;\n",
       "  __pyx_L4_argument_unpacking_done:;\n",
       "  __pyx_r = __pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_12_(__pyx_self, __pyx_v_L);\n",
       "  int __pyx_lineno = 0;\n",
       "  const char *__pyx_filename = NULL;\n",
       "  int __pyx_clineno = 0;\n",
       "\n",
       "  /* function exit code */\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "\n",
       "static PyObject *__pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_12_(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_L) {\n",
       "  CYTHON_UNUSED int __pyx_v_i;\n",
       "  double *__pyx_v_arrptr;\n",
       "  __Pyx_memviewslice __pyx_v_arr = { 0, 0, { 0 }, { 0 }, { 0 } };\n",
       "  PyObject *__pyx_r = NULL;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_\", 0);\n",
       "/* … */\n",
       "  /* function exit code */\n",
       "  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);\n",
       "  goto __pyx_L0;\n",
       "  __pyx_L1_error:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>((PyObject *)__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_6);\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_t_7, 1);\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  __pyx_r = NULL;\n",
       "  __pyx_L0:;\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_v_arr, 1);\n",
       "  <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "/* … */\n",
       "  <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_4, __pyx_n_s_timefunc);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 94, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_4, __pyx_tuple__50, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 94, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "/* … */\n",
       "  __pyx_tuple__50 = <span class='py_c_api'>PyTuple_Pack</span>(1, __pyx_kp_u_malloc_memoryview);<span class='error_goto'> if (unlikely(!__pyx_tuple__50)) __PYX_ERR(0, 94, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__50);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__50);\n",
       "  __pyx_tuple__51 = <span class='py_c_api'>PyTuple_Pack</span>(4, __pyx_n_s_L, __pyx_n_s_i, __pyx_n_s_arrptr, __pyx_n_s_arr);<span class='error_goto'> if (unlikely(!__pyx_tuple__51)) __PYX_ERR(0, 94, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__51);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__51);\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_CyFunction_New</span>(&amp;__pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_13_, 0, __pyx_n_s__40, NULL, __pyx_n_s_cython_magic_fdf74a4c94f4ab3f73, __pyx_d, ((PyObject *)__pyx_codeobj__52));<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 94, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_5, __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 94, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s__40, __pyx_t_7) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 94, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  __pyx_codeobj__52 = (PyObject*)<span class='pyx_c_api'>__Pyx_PyCode_New</span>(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_THEMATRIXNEO_ipython_cyt, __pyx_n_s__40, 94, __pyx_empty_bytes);<span class='error_goto'> if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(0, 94, __pyx_L1_error)</span>\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">095</span>: <span class=\"k\">def</span> <span class=\"nf\">_</span><span class=\"p\">(</span><span class=\"nb\">int</span> <span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">096</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">i</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">097</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span>* <span class=\"nf\">arrptr</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">098</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span>[<span class=\"p\">::</span><span class=\"mf\">1</span><span class=\"p\">]</span> <span class=\"n\">arr</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">099</span>: </pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">100</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">loops</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_t_1 = __pyx_v_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_loops;\n",
       "  __pyx_t_2 = __pyx_t_1;\n",
       "  for (__pyx_t_3 = 0; __pyx_t_3 &lt; __pyx_t_2; __pyx_t_3+=1) {\n",
       "    __pyx_v_i = __pyx_t_3;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">101</span>:         <span class=\"n\">arrptr</span> <span class=\"o\">=</span> <span class=\"o\">&lt;</span><span class=\"n\">double</span><span class=\"o\">*&gt;</span> <span class=\"n\">malloc</span><span class=\"p\">(</span><span class=\"n\">sizeof</span><span class=\"p\">(</span><span class=\"n\">double</span><span class=\"p\">)</span> <span class=\"o\">*</span> <span class=\"n\">L</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-0 '>    __pyx_v_arrptr = ((double *)malloc(((sizeof(double)) * __pyx_v_L)));\n",
       "</pre><pre class=\"cython line score-11\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">102</span>:         <span class=\"n\">arr</span> <span class=\"o\">=</span> <span class=\"o\">&lt;</span><span class=\"n\">double</span><span class=\"p\">[:</span><span class=\"n\">L</span><span class=\"p\">]</span><span class=\"o\">&gt;</span><span class=\"n\">arrptr</span></pre>\n",
       "<pre class='cython code score-11 '>    if (!__pyx_v_arrptr) {\n",
       "      <span class='py_c_api'>PyErr_SetString</span>(PyExc_ValueError,\"Cannot create cython.array from NULL pointer\");\n",
       "      <span class='error_goto'>__PYX_ERR(0, 102, __pyx_L1_error)</span>\n",
       "    }\n",
       "    __pyx_t_6 = __pyx_format_from_typeinfo(&amp;__Pyx_TypeInfo_double);<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 102, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6);\n",
       "    __pyx_t_5 = Py_BuildValue((char*) \"(\"  __PYX_BUILD_PY_SSIZE_T  \")\", ((Py_ssize_t)__pyx_v_L));<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 102, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    __pyx_t_4 = __pyx_array_new(__pyx_t_5, sizeof(double), <span class='py_macro_api'>PyBytes_AS_STRING</span>(__pyx_t_6), (char *) \"c\", (char *) __pyx_v_arrptr);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 102, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>((PyObject *)__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;\n",
       "    __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_to_MemoryviewSlice_dc_double</span>(((PyObject *)__pyx_t_4), PyBUF_WRITABLE);<span class='error_goto'> if (unlikely(!__pyx_t_7.memview)) __PYX_ERR(0, 102, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>((PyObject *)__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __PYX_XCLEAR_MEMVIEW(&amp;__pyx_v_arr, 1);\n",
       "    __pyx_v_arr = __pyx_t_7;\n",
       "    __pyx_t_7.memview = NULL;\n",
       "    __pyx_t_7.data = NULL;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">103</span>:         <span class=\"n\">free</span><span class=\"p\">(</span><span class=\"n\">arrptr</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-0 '>    free(__pyx_v_arrptr);\n",
       "  }\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">104</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">105</span>:     <span class=\"c\"># Prevents dead code elimination</span></pre>\n",
       "<pre class=\"cython line score-11\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">106</span>:     <span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">arr</span><span class=\"p\">[</span><span class=\"mf\">0</span><span class=\"p\">])</span></pre>\n",
       "<pre class='cython code score-11 '>  if (unlikely(!__pyx_v_arr.memview)) { <span class='pyx_c_api'>__Pyx_RaiseUnboundLocalError</span>(\"arr\"); <span class='error_goto'>__PYX_ERR(0, 106, __pyx_L1_error)</span> }\n",
       "  __pyx_t_8 = 0;\n",
       "  __pyx_t_6 = <span class='py_c_api'>PyFloat_FromDouble</span>((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_arr.data) + __pyx_t_8)) ))));<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 106, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6);\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 106, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">107</span>: </pre>\n",
       "<pre class=\"cython line score-64\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">108</span>: <span class=\"nd\">@timefunc</span><span class=\"p\">(</span><span class=\"s\">&quot;cvarray memoryview&quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-64 '>/* Python wrapper */\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_15_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       "); /*proto*/\n",
       "static PyMethodDef __pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_15_ = {\"_\", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_15_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_15_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       ") {\n",
       "  int __pyx_v_L;\n",
       "  #if !CYTHON_METH_FASTCALL\n",
       "  CYTHON_UNUSED const Py_ssize_t __pyx_nargs = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);\n",
       "  #endif\n",
       "  CYTHON_UNUSED PyObject *const *__pyx_kwvalues = <span class='pyx_c_api'>__Pyx_KwValues_FASTCALL</span>(__pyx_args, __pyx_nargs);\n",
       "  PyObject *__pyx_r = 0;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_ (wrapper)\", 0);\n",
       "  {\n",
       "    PyObject **__pyx_pyargnames[] = {&amp;__pyx_n_s_L,0};\n",
       "    PyObject* values[1] = {0};\n",
       "    if (__pyx_kwds) {\n",
       "      Py_ssize_t kw_args;\n",
       "      switch (__pyx_nargs) {\n",
       "        case  1: values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "        CYTHON_FALLTHROUGH;\n",
       "        case  0: break;\n",
       "        default: goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      kw_args = <span class='pyx_c_api'>__Pyx_NumKwargs_FASTCALL</span>(__pyx_kwds);\n",
       "      switch (__pyx_nargs) {\n",
       "        case  0:\n",
       "        if (likely((values[0] = <span class='pyx_c_api'>__Pyx_GetKwValue_FASTCALL</span>(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_L)) != 0)) kw_args--;\n",
       "        else if (unlikely(<span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 108, __pyx_L3_error)</span>\n",
       "        else goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      if (unlikely(kw_args &gt; 0)) {\n",
       "        const Py_ssize_t kwd_pos_args = __pyx_nargs;\n",
       "        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, \"_\") &lt; 0)) <span class='error_goto'>__PYX_ERR(0, 108, __pyx_L3_error)</span>\n",
       "      }\n",
       "    } else if (unlikely(__pyx_nargs != 1)) {\n",
       "      goto __pyx_L5_argtuple_error;\n",
       "    } else {\n",
       "      values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "    }\n",
       "    __pyx_v_L = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[0]); if (unlikely((__pyx_v_L == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 109, __pyx_L3_error)</span>\n",
       "  }\n",
       "  goto __pyx_L4_argument_unpacking_done;\n",
       "  __pyx_L5_argtuple_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>(\"_\", 1, 1, 1, __pyx_nargs); <span class='error_goto'>__PYX_ERR(0, 108, __pyx_L3_error)</span>\n",
       "  __pyx_L3_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return NULL;\n",
       "  __pyx_L4_argument_unpacking_done:;\n",
       "  __pyx_r = __pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_14_(__pyx_self, __pyx_v_L);\n",
       "  int __pyx_lineno = 0;\n",
       "  const char *__pyx_filename = NULL;\n",
       "  int __pyx_clineno = 0;\n",
       "\n",
       "  /* function exit code */\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "\n",
       "static PyObject *__pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_14_(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_L) {\n",
       "  CYTHON_UNUSED int __pyx_v_i;\n",
       "  __Pyx_memviewslice __pyx_v_arr = { 0, 0, { 0 }, { 0 }, { 0 } };\n",
       "  PyObject *__pyx_r = NULL;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_\", 0);\n",
       "/* … */\n",
       "  /* function exit code */\n",
       "  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);\n",
       "  goto __pyx_L0;\n",
       "  __pyx_L1_error:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_6);\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_t_7, 1);\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  __pyx_r = NULL;\n",
       "  __pyx_L0:;\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_v_arr, 1);\n",
       "  <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "/* … */\n",
       "  <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_7, __pyx_n_s_timefunc);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 108, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_7, __pyx_tuple__53, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 108, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "/* … */\n",
       "  __pyx_tuple__53 = <span class='py_c_api'>PyTuple_Pack</span>(1, __pyx_kp_u_cvarray_memoryview);<span class='error_goto'> if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 108, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__53);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__53);\n",
       "  __pyx_tuple__54 = <span class='py_c_api'>PyTuple_Pack</span>(3, __pyx_n_s_L, __pyx_n_s_i, __pyx_n_s_arr);<span class='error_goto'> if (unlikely(!__pyx_tuple__54)) __PYX_ERR(0, 108, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__54);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__54);\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_CyFunction_New</span>(&amp;__pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_15_, 0, __pyx_n_s__40, NULL, __pyx_n_s_cython_magic_fdf74a4c94f4ab3f73, __pyx_d, ((PyObject *)__pyx_codeobj__55));<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 108, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_4, __pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 108, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s__40, __pyx_t_5) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 108, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "  __pyx_codeobj__55 = (PyObject*)<span class='pyx_c_api'>__Pyx_PyCode_New</span>(1, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__54, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_THEMATRIXNEO_ipython_cyt, __pyx_n_s__40, 108, __pyx_empty_bytes);<span class='error_goto'> if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(0, 108, __pyx_L1_error)</span>\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">109</span>: <span class=\"k\">def</span> <span class=\"nf\">_</span><span class=\"p\">(</span><span class=\"nb\">int</span> <span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">110</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">i</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">111</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span>[<span class=\"p\">::</span><span class=\"mf\">1</span><span class=\"p\">]</span> <span class=\"n\">arr</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">112</span>: </pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">113</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">loops</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_t_1 = __pyx_v_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_loops;\n",
       "  __pyx_t_2 = __pyx_t_1;\n",
       "  for (__pyx_t_3 = 0; __pyx_t_3 &lt; __pyx_t_2; __pyx_t_3+=1) {\n",
       "    __pyx_v_i = __pyx_t_3;\n",
       "</pre><pre class=\"cython line score-25\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">114</span>:         <span class=\"n\">arr</span> <span class=\"o\">=</span> <span class=\"n\">cvarray</span><span class=\"p\">((</span><span class=\"n\">L</span><span class=\"p\">,),</span><span class=\"n\">sizeof</span><span class=\"p\">(</span><span class=\"n\">double</span><span class=\"p\">),</span><span class=\"s\">&#39;d&#39;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-25 '>    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_L);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 114, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    __pyx_t_5 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 114, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "    <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_4);\n",
       "    <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_5, 0, __pyx_t_4);\n",
       "    __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyInt_FromSize_t</span>((sizeof(double)));<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 114, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    __pyx_t_6 = <span class='py_c_api'>PyTuple_New</span>(3);<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 114, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6);\n",
       "    <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_5);\n",
       "    <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_6, 0, __pyx_t_5);\n",
       "    <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_4);\n",
       "    <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_6, 1, __pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_u_d);\n",
       "    <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_u_d);\n",
       "    <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_6, 2, __pyx_n_u_d);\n",
       "    __pyx_t_5 = 0;\n",
       "    __pyx_t_4 = 0;\n",
       "    __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(((PyObject *)__pyx_array_type), __pyx_t_6, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 114, __pyx_L1_error)</span>\n",
       "    <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;\n",
       "    __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_to_MemoryviewSlice_dc_double</span>(__pyx_t_4, PyBUF_WRITABLE);<span class='error_goto'> if (unlikely(!__pyx_t_7.memview)) __PYX_ERR(0, 114, __pyx_L1_error)</span>\n",
       "    <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "    __PYX_XCLEAR_MEMVIEW(&amp;__pyx_v_arr, 1);\n",
       "    __pyx_v_arr = __pyx_t_7;\n",
       "    __pyx_t_7.memview = NULL;\n",
       "    __pyx_t_7.data = NULL;\n",
       "  }\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">115</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">116</span>:     <span class=\"c\"># Prevents dead code elimination</span></pre>\n",
       "<pre class=\"cython line score-11\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">117</span>:     <span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">arr</span><span class=\"p\">[</span><span class=\"mf\">0</span><span class=\"p\">])</span></pre>\n",
       "<pre class='cython code score-11 '>  if (unlikely(!__pyx_v_arr.memview)) { <span class='pyx_c_api'>__Pyx_RaiseUnboundLocalError</span>(\"arr\"); <span class='error_goto'>__PYX_ERR(0, 117, __pyx_L1_error)</span> }\n",
       "  __pyx_t_8 = 0;\n",
       "  __pyx_t_4 = <span class='py_c_api'>PyFloat_FromDouble</span>((*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_arr.data) + __pyx_t_8)) ))));<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 117, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  __pyx_t_6 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 117, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">118</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">119</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">120</span>: </pre>\n",
       "<pre class=\"cython line score-3\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">121</span>: <span class=\"k\">print</span><span class=\"p\">()</span></pre>\n",
       "<pre class='cython code score-3 '>  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_CallNoArg</span>(__pyx_builtin_print);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 121, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "</pre><pre class=\"cython line score-8\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">122</span>: <span class=\"k\">print</span><span class=\"p\">(</span><span class=\"s\">&quot;ITERATING&quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-8 '>  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_builtin_print, __pyx_tuple__56, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 122, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "/* … */\n",
       "  __pyx_tuple__56 = <span class='py_c_api'>PyTuple_Pack</span>(1, __pyx_n_u_ITERATING);<span class='error_goto'> if (unlikely(!__pyx_tuple__56)) __PYX_ERR(0, 122, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__56);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__56);\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">123</span>: <span class=\"n\">loops</span> <span class=\"o\">=</span> <span class=\"mf\">1000</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_v_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_loops = 0x3E8;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">124</span>: </pre>\n",
       "<pre class=\"cython line score-67\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">125</span>: <span class=\"nd\">@timefunc</span><span class=\"p\">(</span><span class=\"s\">&quot;cpython.array buffer&quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-67 '>/* Python wrapper */\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_17_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       "); /*proto*/\n",
       "static PyMethodDef __pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_17_ = {\"_\", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_17_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_17_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       ") {\n",
       "  int __pyx_v_L;\n",
       "  #if !CYTHON_METH_FASTCALL\n",
       "  CYTHON_UNUSED const Py_ssize_t __pyx_nargs = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);\n",
       "  #endif\n",
       "  CYTHON_UNUSED PyObject *const *__pyx_kwvalues = <span class='pyx_c_api'>__Pyx_KwValues_FASTCALL</span>(__pyx_args, __pyx_nargs);\n",
       "  PyObject *__pyx_r = 0;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_ (wrapper)\", 0);\n",
       "  {\n",
       "    PyObject **__pyx_pyargnames[] = {&amp;__pyx_n_s_L,0};\n",
       "    PyObject* values[1] = {0};\n",
       "    if (__pyx_kwds) {\n",
       "      Py_ssize_t kw_args;\n",
       "      switch (__pyx_nargs) {\n",
       "        case  1: values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "        CYTHON_FALLTHROUGH;\n",
       "        case  0: break;\n",
       "        default: goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      kw_args = <span class='pyx_c_api'>__Pyx_NumKwargs_FASTCALL</span>(__pyx_kwds);\n",
       "      switch (__pyx_nargs) {\n",
       "        case  0:\n",
       "        if (likely((values[0] = <span class='pyx_c_api'>__Pyx_GetKwValue_FASTCALL</span>(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_L)) != 0)) kw_args--;\n",
       "        else if (unlikely(<span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 125, __pyx_L3_error)</span>\n",
       "        else goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      if (unlikely(kw_args &gt; 0)) {\n",
       "        const Py_ssize_t kwd_pos_args = __pyx_nargs;\n",
       "        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, \"_\") &lt; 0)) <span class='error_goto'>__PYX_ERR(0, 125, __pyx_L3_error)</span>\n",
       "      }\n",
       "    } else if (unlikely(__pyx_nargs != 1)) {\n",
       "      goto __pyx_L5_argtuple_error;\n",
       "    } else {\n",
       "      values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "    }\n",
       "    __pyx_v_L = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[0]); if (unlikely((__pyx_v_L == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 126, __pyx_L3_error)</span>\n",
       "  }\n",
       "  goto __pyx_L4_argument_unpacking_done;\n",
       "  __pyx_L5_argtuple_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>(\"_\", 1, 1, 1, __pyx_nargs); <span class='error_goto'>__PYX_ERR(0, 125, __pyx_L3_error)</span>\n",
       "  __pyx_L3_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return NULL;\n",
       "  __pyx_L4_argument_unpacking_done:;\n",
       "  __pyx_r = __pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_16_(__pyx_self, __pyx_v_L);\n",
       "  int __pyx_lineno = 0;\n",
       "  const char *__pyx_filename = NULL;\n",
       "  int __pyx_clineno = 0;\n",
       "\n",
       "  /* function exit code */\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "\n",
       "static PyObject *__pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_16_(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_L) {\n",
       "  int __pyx_v_i;\n",
       "  arrayobject *__pyx_v_arr = 0;\n",
       "  double __pyx_v_d;\n",
       "  __Pyx_LocalBuf_ND __pyx_pybuffernd_arr;\n",
       "  __Pyx_Buffer __pyx_pybuffer_arr;\n",
       "  PyObject *__pyx_r = NULL;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_\", 0);\n",
       "  __pyx_pybuffer_arr.pybuffer.buf = NULL;\n",
       "  __pyx_pybuffer_arr.refcount = 0;\n",
       "  __pyx_pybuffernd_arr.data = NULL;\n",
       "  __pyx_pybuffernd_arr.rcbuffer = &amp;__pyx_pybuffer_arr;\n",
       "/* … */\n",
       "  /* function exit code */\n",
       "  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);\n",
       "  goto __pyx_L0;\n",
       "  __pyx_L1_error:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2);\n",
       "  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;\n",
       "    __Pyx_PyThreadState_declare\n",
       "    __Pyx_PyThreadState_assign\n",
       "    <span class='pyx_c_api'>__Pyx_ErrFetch</span>(&amp;__pyx_type, &amp;__pyx_value, &amp;__pyx_tb);\n",
       "    <span class='pyx_c_api'>__Pyx_SafeReleaseBuffer</span>(&amp;__pyx_pybuffernd_arr.rcbuffer-&gt;pybuffer);\n",
       "  <span class='pyx_c_api'>__Pyx_ErrRestore</span>(__pyx_type, __pyx_value, __pyx_tb);}\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  __pyx_r = NULL;\n",
       "  goto __pyx_L2;\n",
       "  __pyx_L0:;\n",
       "  <span class='pyx_c_api'>__Pyx_SafeReleaseBuffer</span>(&amp;__pyx_pybuffernd_arr.rcbuffer-&gt;pybuffer);\n",
       "  __pyx_L2:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>((PyObject *)__pyx_v_arr);\n",
       "  <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "/* … */\n",
       "  <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_5, __pyx_n_s_timefunc);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 125, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_5, __pyx_tuple__37, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 125, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "/* … */\n",
       "  __pyx_tuple__57 = <span class='py_c_api'>PyTuple_Pack</span>(4, __pyx_n_s_L, __pyx_n_s_i, __pyx_n_s_arr, __pyx_n_s_d);<span class='error_goto'> if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 125, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__57);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__57);\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_CyFunction_New</span>(&amp;__pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_17_, 0, __pyx_n_s__40, NULL, __pyx_n_s_cython_magic_fdf74a4c94f4ab3f73, __pyx_d, ((PyObject *)__pyx_codeobj__58));<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 125, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_7, __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 125, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s__40, __pyx_t_4) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 125, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  __pyx_codeobj__58 = (PyObject*)<span class='pyx_c_api'>__Pyx_PyCode_New</span>(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_THEMATRIXNEO_ipython_cyt, __pyx_n_s__40, 125, __pyx_empty_bytes);<span class='error_goto'> if (unlikely(!__pyx_codeobj__58)) __PYX_ERR(0, 125, __pyx_L1_error)</span>\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">126</span>: <span class=\"k\">def</span> <span class=\"nf\">_</span><span class=\"p\">(</span><span class=\"nb\">int</span> <span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">127</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">i</span></pre>\n",
       "<pre class=\"cython line score-6\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">128</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">array</span>[<span class=\"kt\">double</span>] <span class=\"nf\">arr</span> <span class=\"o\">=</span> <span class=\"n\">clone</span><span class=\"p\">(</span><span class=\"n\">array</span><span class=\"p\">(</span><span class=\"s\">&#39;d&#39;</span><span class=\"p\">),</span> <span class=\"n\">L</span><span class=\"p\">,</span> <span class=\"bp\">False</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-6 '>  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(((PyObject *)__pyx_ptype_7cpython_5array_array), __pyx_tuple__22, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  __pyx_t_2 = ((PyObject *)__pyx_f_7cpython_5array_clone(((arrayobject *)__pyx_t_1), __pyx_v_L, 0));<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 128, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "  {\n",
       "    __Pyx_BufFmt_StackElem __pyx_stack[1];\n",
       "    if (unlikely(<span class='pyx_c_api'>__Pyx_GetBufferAndValidate</span>(&amp;__pyx_pybuffernd_arr.rcbuffer-&gt;pybuffer, (PyObject*)((arrayobject *)__pyx_t_2), &amp;__Pyx_TypeInfo_double, PyBUF_FORMAT| PyBUF_INDIRECT, 1, 0, __pyx_stack) == -1)) {\n",
       "      __pyx_v_arr = ((arrayobject *)Py_None); <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None); __pyx_pybuffernd_arr.rcbuffer-&gt;pybuffer.buf = NULL;\n",
       "      <span class='error_goto'>__PYX_ERR(0, 128, __pyx_L1_error)</span>\n",
       "    } else {__pyx_pybuffernd_arr.diminfo[0].strides = __pyx_pybuffernd_arr.rcbuffer-&gt;pybuffer.strides[0]; __pyx_pybuffernd_arr.diminfo[0].shape = __pyx_pybuffernd_arr.rcbuffer-&gt;pybuffer.shape[0]; __pyx_pybuffernd_arr.diminfo[0].suboffsets = __pyx_pybuffernd_arr.rcbuffer-&gt;pybuffer.suboffsets[0];\n",
       "    }\n",
       "  }\n",
       "  __pyx_v_arr = ((arrayobject *)__pyx_t_2);\n",
       "  __pyx_t_2 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">129</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">130</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span> <span class=\"nf\">d</span></pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">131</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">loops</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_t_3 = __pyx_v_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_loops;\n",
       "  __pyx_t_4 = __pyx_t_3;\n",
       "  for (__pyx_t_5 = 0; __pyx_t_5 &lt; __pyx_t_4; __pyx_t_5+=1) {\n",
       "    __pyx_v_i = __pyx_t_5;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">132</span>:         <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>    __pyx_t_6 = __pyx_v_L;\n",
       "    __pyx_t_7 = __pyx_t_6;\n",
       "    for (__pyx_t_8 = 0; __pyx_t_8 &lt; __pyx_t_7; __pyx_t_8+=1) {\n",
       "      __pyx_v_i = __pyx_t_8;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">133</span>:             <span class=\"n\">d</span> <span class=\"o\">=</span> <span class=\"n\">arr</span><span class=\"p\">[</span><span class=\"n\">i</span><span class=\"p\">]</span></pre>\n",
       "<pre class='cython code score-0 '>      __pyx_t_9 = __pyx_v_i;\n",
       "      __pyx_v_d = (*__Pyx_BufPtrFull1d(double *, __pyx_pybuffernd_arr.rcbuffer-&gt;pybuffer.buf, __pyx_t_9, __pyx_pybuffernd_arr.diminfo[0].strides, __pyx_pybuffernd_arr.diminfo[0].suboffsets));\n",
       "    }\n",
       "  }\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">134</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">135</span>:     <span class=\"c\"># Prevents dead-code elimination</span></pre>\n",
       "<pre class=\"cython line score-9\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">136</span>:     <span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">d</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-9 '>  __pyx_t_2 = <span class='py_c_api'>PyFloat_FromDouble</span>(__pyx_v_d);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 136, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);\n",
       "  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_2);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 136, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">137</span>: </pre>\n",
       "<pre class=\"cython line score-53\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">138</span>: <span class=\"nd\">@timefunc</span><span class=\"p\">(</span><span class=\"s\">&quot;cpython.array memoryview&quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-53 '>/* Python wrapper */\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_19_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       "); /*proto*/\n",
       "static PyMethodDef __pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_19_ = {\"_\", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_19_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_19_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       ") {\n",
       "  int __pyx_v_L;\n",
       "  #if !CYTHON_METH_FASTCALL\n",
       "  CYTHON_UNUSED const Py_ssize_t __pyx_nargs = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);\n",
       "  #endif\n",
       "  CYTHON_UNUSED PyObject *const *__pyx_kwvalues = <span class='pyx_c_api'>__Pyx_KwValues_FASTCALL</span>(__pyx_args, __pyx_nargs);\n",
       "  PyObject *__pyx_r = 0;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_ (wrapper)\", 0);\n",
       "  {\n",
       "    PyObject **__pyx_pyargnames[] = {&amp;__pyx_n_s_L,0};\n",
       "    PyObject* values[1] = {0};\n",
       "    if (__pyx_kwds) {\n",
       "      Py_ssize_t kw_args;\n",
       "      switch (__pyx_nargs) {\n",
       "        case  1: values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "        CYTHON_FALLTHROUGH;\n",
       "        case  0: break;\n",
       "        default: goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      kw_args = <span class='pyx_c_api'>__Pyx_NumKwargs_FASTCALL</span>(__pyx_kwds);\n",
       "      switch (__pyx_nargs) {\n",
       "        case  0:\n",
       "        if (likely((values[0] = <span class='pyx_c_api'>__Pyx_GetKwValue_FASTCALL</span>(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_L)) != 0)) kw_args--;\n",
       "        else if (unlikely(<span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 138, __pyx_L3_error)</span>\n",
       "        else goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      if (unlikely(kw_args &gt; 0)) {\n",
       "        const Py_ssize_t kwd_pos_args = __pyx_nargs;\n",
       "        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, \"_\") &lt; 0)) <span class='error_goto'>__PYX_ERR(0, 138, __pyx_L3_error)</span>\n",
       "      }\n",
       "    } else if (unlikely(__pyx_nargs != 1)) {\n",
       "      goto __pyx_L5_argtuple_error;\n",
       "    } else {\n",
       "      values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "    }\n",
       "    __pyx_v_L = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[0]); if (unlikely((__pyx_v_L == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 139, __pyx_L3_error)</span>\n",
       "  }\n",
       "  goto __pyx_L4_argument_unpacking_done;\n",
       "  __pyx_L5_argtuple_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>(\"_\", 1, 1, 1, __pyx_nargs); <span class='error_goto'>__PYX_ERR(0, 138, __pyx_L3_error)</span>\n",
       "  __pyx_L3_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return NULL;\n",
       "  __pyx_L4_argument_unpacking_done:;\n",
       "  __pyx_r = __pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_18_(__pyx_self, __pyx_v_L);\n",
       "  int __pyx_lineno = 0;\n",
       "  const char *__pyx_filename = NULL;\n",
       "  int __pyx_clineno = 0;\n",
       "\n",
       "  /* function exit code */\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "\n",
       "static PyObject *__pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_18_(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_L) {\n",
       "  int __pyx_v_i;\n",
       "  __Pyx_memviewslice __pyx_v_arr = { 0, 0, { 0 }, { 0 }, { 0 } };\n",
       "  double __pyx_v_d;\n",
       "  PyObject *__pyx_r = NULL;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_\", 0);\n",
       "/* … */\n",
       "  /* function exit code */\n",
       "  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);\n",
       "  goto __pyx_L0;\n",
       "  __pyx_L1_error:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2);\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_t_3, 1);\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  __pyx_r = NULL;\n",
       "  __pyx_L0:;\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_v_arr, 1);\n",
       "  <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "/* … */\n",
       "  <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_4, __pyx_n_s_timefunc);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 138, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_4, __pyx_tuple__41, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 138, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_CyFunction_New</span>(&amp;__pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_19_, 0, __pyx_n_s__40, NULL, __pyx_n_s_cython_magic_fdf74a4c94f4ab3f73, __pyx_d, ((PyObject *)__pyx_codeobj__59));<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 138, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_5, __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 138, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s__40, __pyx_t_7) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 138, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "/* … */\n",
       "  __pyx_codeobj__59 = (PyObject*)<span class='pyx_c_api'>__Pyx_PyCode_New</span>(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_THEMATRIXNEO_ipython_cyt, __pyx_n_s__40, 138, __pyx_empty_bytes);<span class='error_goto'> if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(0, 138, __pyx_L1_error)</span>\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">139</span>: <span class=\"k\">def</span> <span class=\"nf\">_</span><span class=\"p\">(</span><span class=\"nb\">int</span> <span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">140</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">i</span></pre>\n",
       "<pre class=\"cython line score-6\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">141</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span>[<span class=\"p\">::</span><span class=\"mf\">1</span><span class=\"p\">]</span> <span class=\"n\">arr</span> <span class=\"o\">=</span> <span class=\"n\">clone</span><span class=\"p\">(</span><span class=\"n\">array</span><span class=\"p\">(</span><span class=\"s\">&#39;d&#39;</span><span class=\"p\">),</span> <span class=\"n\">L</span><span class=\"p\">,</span> <span class=\"bp\">False</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-6 '>  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(((PyObject *)__pyx_ptype_7cpython_5array_array), __pyx_tuple__22, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 141, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  __pyx_t_2 = ((PyObject *)__pyx_f_7cpython_5array_clone(((arrayobject *)__pyx_t_1), __pyx_v_L, 0));<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 141, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "  __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_to_MemoryviewSlice_dc_double</span>(__pyx_t_2, PyBUF_WRITABLE);<span class='error_goto'> if (unlikely(!__pyx_t_3.memview)) __PYX_ERR(0, 141, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;\n",
       "  __pyx_v_arr = __pyx_t_3;\n",
       "  __pyx_t_3.memview = NULL;\n",
       "  __pyx_t_3.data = NULL;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">142</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">143</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span> <span class=\"nf\">d</span></pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">144</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">loops</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_t_4 = __pyx_v_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_loops;\n",
       "  __pyx_t_5 = __pyx_t_4;\n",
       "  for (__pyx_t_6 = 0; __pyx_t_6 &lt; __pyx_t_5; __pyx_t_6+=1) {\n",
       "    __pyx_v_i = __pyx_t_6;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">145</span>:         <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>    __pyx_t_7 = __pyx_v_L;\n",
       "    __pyx_t_8 = __pyx_t_7;\n",
       "    for (__pyx_t_9 = 0; __pyx_t_9 &lt; __pyx_t_8; __pyx_t_9+=1) {\n",
       "      __pyx_v_i = __pyx_t_9;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">146</span>:             <span class=\"n\">d</span> <span class=\"o\">=</span> <span class=\"n\">arr</span><span class=\"p\">[</span><span class=\"n\">i</span><span class=\"p\">]</span></pre>\n",
       "<pre class='cython code score-0 '>      __pyx_t_10 = __pyx_v_i;\n",
       "      __pyx_v_d = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_arr.data) + __pyx_t_10)) )));\n",
       "    }\n",
       "  }\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">147</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">148</span>:     <span class=\"c\"># Prevents dead-code elimination</span></pre>\n",
       "<pre class=\"cython line score-9\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">149</span>:     <span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">d</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-9 '>  __pyx_t_2 = <span class='py_c_api'>PyFloat_FromDouble</span>(__pyx_v_d);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 149, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);\n",
       "  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_2);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 149, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">150</span>: </pre>\n",
       "<pre class=\"cython line score-54\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">151</span>: <span class=\"nd\">@timefunc</span><span class=\"p\">(</span><span class=\"s\">&quot;cpython.array raw C type&quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-54 '>/* Python wrapper */\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_21_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       "); /*proto*/\n",
       "static PyMethodDef __pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_21_ = {\"_\", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_21_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_21_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       ") {\n",
       "  int __pyx_v_L;\n",
       "  #if !CYTHON_METH_FASTCALL\n",
       "  CYTHON_UNUSED const Py_ssize_t __pyx_nargs = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);\n",
       "  #endif\n",
       "  CYTHON_UNUSED PyObject *const *__pyx_kwvalues = <span class='pyx_c_api'>__Pyx_KwValues_FASTCALL</span>(__pyx_args, __pyx_nargs);\n",
       "  PyObject *__pyx_r = 0;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_ (wrapper)\", 0);\n",
       "  {\n",
       "    PyObject **__pyx_pyargnames[] = {&amp;__pyx_n_s_L,0};\n",
       "    PyObject* values[1] = {0};\n",
       "    if (__pyx_kwds) {\n",
       "      Py_ssize_t kw_args;\n",
       "      switch (__pyx_nargs) {\n",
       "        case  1: values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "        CYTHON_FALLTHROUGH;\n",
       "        case  0: break;\n",
       "        default: goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      kw_args = <span class='pyx_c_api'>__Pyx_NumKwargs_FASTCALL</span>(__pyx_kwds);\n",
       "      switch (__pyx_nargs) {\n",
       "        case  0:\n",
       "        if (likely((values[0] = <span class='pyx_c_api'>__Pyx_GetKwValue_FASTCALL</span>(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_L)) != 0)) kw_args--;\n",
       "        else if (unlikely(<span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 151, __pyx_L3_error)</span>\n",
       "        else goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      if (unlikely(kw_args &gt; 0)) {\n",
       "        const Py_ssize_t kwd_pos_args = __pyx_nargs;\n",
       "        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, \"_\") &lt; 0)) <span class='error_goto'>__PYX_ERR(0, 151, __pyx_L3_error)</span>\n",
       "      }\n",
       "    } else if (unlikely(__pyx_nargs != 1)) {\n",
       "      goto __pyx_L5_argtuple_error;\n",
       "    } else {\n",
       "      values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "    }\n",
       "    __pyx_v_L = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[0]); if (unlikely((__pyx_v_L == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 152, __pyx_L3_error)</span>\n",
       "  }\n",
       "  goto __pyx_L4_argument_unpacking_done;\n",
       "  __pyx_L5_argtuple_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>(\"_\", 1, 1, 1, __pyx_nargs); <span class='error_goto'>__PYX_ERR(0, 151, __pyx_L3_error)</span>\n",
       "  __pyx_L3_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return NULL;\n",
       "  __pyx_L4_argument_unpacking_done:;\n",
       "  __pyx_r = __pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_20_(__pyx_self, __pyx_v_L);\n",
       "  int __pyx_lineno = 0;\n",
       "  const char *__pyx_filename = NULL;\n",
       "  int __pyx_clineno = 0;\n",
       "\n",
       "  /* function exit code */\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "\n",
       "static PyObject *__pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_20_(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_L) {\n",
       "  int __pyx_v_i;\n",
       "  arrayobject *__pyx_v_arr = 0;\n",
       "  double __pyx_v_d;\n",
       "  PyObject *__pyx_r = NULL;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_\", 0);\n",
       "/* … */\n",
       "  /* function exit code */\n",
       "  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);\n",
       "  goto __pyx_L0;\n",
       "  __pyx_L1_error:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2);\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  __pyx_r = NULL;\n",
       "  __pyx_L0:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>((PyObject *)__pyx_v_arr);\n",
       "  <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "/* … */\n",
       "  <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_7, __pyx_n_s_timefunc);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 151, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_7, __pyx_tuple__43, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 151, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_CyFunction_New</span>(&amp;__pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_21_, 0, __pyx_n_s__40, NULL, __pyx_n_s_cython_magic_fdf74a4c94f4ab3f73, __pyx_d, ((PyObject *)__pyx_codeobj__60));<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 151, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_4, __pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 151, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s__40, __pyx_t_5) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 151, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "/* … */\n",
       "  __pyx_codeobj__60 = (PyObject*)<span class='pyx_c_api'>__Pyx_PyCode_New</span>(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_THEMATRIXNEO_ipython_cyt, __pyx_n_s__40, 151, __pyx_empty_bytes);<span class='error_goto'> if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(0, 151, __pyx_L1_error)</span>\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">152</span>: <span class=\"k\">def</span> <span class=\"nf\">_</span><span class=\"p\">(</span><span class=\"nb\">int</span> <span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">153</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">i</span></pre>\n",
       "<pre class=\"cython line score-3\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">154</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">array</span> <span class=\"nf\">arr</span> <span class=\"o\">=</span> <span class=\"n\">clone</span><span class=\"p\">(</span><span class=\"n\">array</span><span class=\"p\">(</span><span class=\"s\">&#39;d&#39;</span><span class=\"p\">),</span> <span class=\"n\">L</span><span class=\"p\">,</span> <span class=\"bp\">False</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-3 '>  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(((PyObject *)__pyx_ptype_7cpython_5array_array), __pyx_tuple__22, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 154, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  __pyx_t_2 = ((PyObject *)__pyx_f_7cpython_5array_clone(((arrayobject *)__pyx_t_1), __pyx_v_L, 0));<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 154, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "  __pyx_v_arr = ((arrayobject *)__pyx_t_2);\n",
       "  __pyx_t_2 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">155</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">156</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span> <span class=\"nf\">d</span></pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">157</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">loops</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_t_3 = __pyx_v_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_loops;\n",
       "  __pyx_t_4 = __pyx_t_3;\n",
       "  for (__pyx_t_5 = 0; __pyx_t_5 &lt; __pyx_t_4; __pyx_t_5+=1) {\n",
       "    __pyx_v_i = __pyx_t_5;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">158</span>:         <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>    __pyx_t_6 = __pyx_v_L;\n",
       "    __pyx_t_7 = __pyx_t_6;\n",
       "    for (__pyx_t_8 = 0; __pyx_t_8 &lt; __pyx_t_7; __pyx_t_8+=1) {\n",
       "      __pyx_v_i = __pyx_t_8;\n",
       "</pre><pre class=\"cython line score-13\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">159</span>:             <span class=\"n\">d</span> <span class=\"o\">=</span> <span class=\"n\">arr</span><span class=\"p\">[</span><span class=\"n\">i</span><span class=\"p\">]</span></pre>\n",
       "<pre class='cython code score-13 '>      __pyx_t_2 = <span class='pyx_c_api'>__Pyx_GetItemInt</span>(((PyObject *)__pyx_v_arr), __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 0, 0);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 159, __pyx_L1_error)</span>\n",
       "      <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);\n",
       "      __pyx_t_9 = __pyx_<span class='py_c_api'>PyFloat_AsDouble</span>(__pyx_t_2); if (unlikely((__pyx_t_9 == (double)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 159, __pyx_L1_error)</span>\n",
       "      <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;\n",
       "      __pyx_v_d = __pyx_t_9;\n",
       "    }\n",
       "  }\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">160</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">161</span>:     <span class=\"c\"># Prevents dead-code elimination</span></pre>\n",
       "<pre class=\"cython line score-9\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">162</span>:     <span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">d</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-9 '>  __pyx_t_2 = <span class='py_c_api'>PyFloat_FromDouble</span>(__pyx_v_d);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 162, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);\n",
       "  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_2);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 162, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">163</span>: </pre>\n",
       "<pre class=\"cython line score-55\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">164</span>: <span class=\"nd\">@timefunc</span><span class=\"p\">(</span><span class=\"s\">&quot;numpy.empty_like memoryview&quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-55 '>/* Python wrapper */\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_23_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       "); /*proto*/\n",
       "static PyMethodDef __pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_23_ = {\"_\", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_23_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_23_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       ") {\n",
       "  int __pyx_v_L;\n",
       "  #if !CYTHON_METH_FASTCALL\n",
       "  CYTHON_UNUSED const Py_ssize_t __pyx_nargs = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);\n",
       "  #endif\n",
       "  CYTHON_UNUSED PyObject *const *__pyx_kwvalues = <span class='pyx_c_api'>__Pyx_KwValues_FASTCALL</span>(__pyx_args, __pyx_nargs);\n",
       "  PyObject *__pyx_r = 0;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_ (wrapper)\", 0);\n",
       "  {\n",
       "    PyObject **__pyx_pyargnames[] = {&amp;__pyx_n_s_L,0};\n",
       "    PyObject* values[1] = {0};\n",
       "    if (__pyx_kwds) {\n",
       "      Py_ssize_t kw_args;\n",
       "      switch (__pyx_nargs) {\n",
       "        case  1: values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "        CYTHON_FALLTHROUGH;\n",
       "        case  0: break;\n",
       "        default: goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      kw_args = <span class='pyx_c_api'>__Pyx_NumKwargs_FASTCALL</span>(__pyx_kwds);\n",
       "      switch (__pyx_nargs) {\n",
       "        case  0:\n",
       "        if (likely((values[0] = <span class='pyx_c_api'>__Pyx_GetKwValue_FASTCALL</span>(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_L)) != 0)) kw_args--;\n",
       "        else if (unlikely(<span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 164, __pyx_L3_error)</span>\n",
       "        else goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      if (unlikely(kw_args &gt; 0)) {\n",
       "        const Py_ssize_t kwd_pos_args = __pyx_nargs;\n",
       "        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, \"_\") &lt; 0)) <span class='error_goto'>__PYX_ERR(0, 164, __pyx_L3_error)</span>\n",
       "      }\n",
       "    } else if (unlikely(__pyx_nargs != 1)) {\n",
       "      goto __pyx_L5_argtuple_error;\n",
       "    } else {\n",
       "      values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "    }\n",
       "    __pyx_v_L = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[0]); if (unlikely((__pyx_v_L == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 165, __pyx_L3_error)</span>\n",
       "  }\n",
       "  goto __pyx_L4_argument_unpacking_done;\n",
       "  __pyx_L5_argtuple_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>(\"_\", 1, 1, 1, __pyx_nargs); <span class='error_goto'>__PYX_ERR(0, 164, __pyx_L3_error)</span>\n",
       "  __pyx_L3_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return NULL;\n",
       "  __pyx_L4_argument_unpacking_done:;\n",
       "  __pyx_r = __pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_22_(__pyx_self, __pyx_v_L);\n",
       "  int __pyx_lineno = 0;\n",
       "  const char *__pyx_filename = NULL;\n",
       "  int __pyx_clineno = 0;\n",
       "\n",
       "  /* function exit code */\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "\n",
       "static PyObject *__pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_22_(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_L) {\n",
       "  int __pyx_v_i;\n",
       "  __Pyx_memviewslice __pyx_v_arr = { 0, 0, { 0 }, { 0 }, { 0 } };\n",
       "  double __pyx_v_d;\n",
       "  PyObject *__pyx_r = NULL;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_\", 0);\n",
       "/* … */\n",
       "  /* function exit code */\n",
       "  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);\n",
       "  goto __pyx_L0;\n",
       "  __pyx_L1_error:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4);\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_t_5, 1);\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  __pyx_r = NULL;\n",
       "  __pyx_L0:;\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_v_arr, 1);\n",
       "  <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "/* … */\n",
       "  <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_5, __pyx_n_s_timefunc);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 164, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_5, __pyx_tuple__45, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 164, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_CyFunction_New</span>(&amp;__pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_23_, 0, __pyx_n_s__40, NULL, __pyx_n_s_cython_magic_fdf74a4c94f4ab3f73, __pyx_d, ((PyObject *)__pyx_codeobj__61));<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 164, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_7, __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 164, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s__40, __pyx_t_4) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 164, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "/* … */\n",
       "  __pyx_codeobj__61 = (PyObject*)<span class='pyx_c_api'>__Pyx_PyCode_New</span>(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_THEMATRIXNEO_ipython_cyt, __pyx_n_s__40, 164, __pyx_empty_bytes);<span class='error_goto'> if (unlikely(!__pyx_codeobj__61)) __PYX_ERR(0, 164, __pyx_L1_error)</span>\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">165</span>: <span class=\"k\">def</span> <span class=\"nf\">_</span><span class=\"p\">(</span><span class=\"nb\">int</span> <span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">166</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">i</span></pre>\n",
       "<pre class=\"cython line score-34\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">167</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span>[<span class=\"p\">::</span><span class=\"mf\">1</span><span class=\"p\">]</span> <span class=\"n\">arr</span> <span class=\"o\">=</span> <span class=\"n\">numpy</span><span class=\"o\">.</span><span class=\"n\">empty</span><span class=\"p\">((</span><span class=\"n\">L</span><span class=\"p\">,),</span> <span class=\"n\">dtype</span><span class=\"o\">=</span><span class=\"s\">&#39;double&#39;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-34 '>  <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_1, __pyx_n_s_numpy);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 167, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_GetAttrStr</span>(__pyx_t_1, __pyx_n_s_empty);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 167, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_L);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 167, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  __pyx_t_3 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 167, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1);\n",
       "  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 0, __pyx_t_1);\n",
       "  __pyx_t_1 = 0;\n",
       "  __pyx_t_1 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 167, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_3);\n",
       "  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_1, 0, __pyx_t_3);\n",
       "  __pyx_t_3 = 0;\n",
       "  __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyDict_NewPresized</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 167, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3);\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_t_3, __pyx_n_s_dtype, __pyx_n_u_double) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 167, __pyx_L1_error)</span>\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_2, __pyx_t_1, __pyx_t_3);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 167, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_to_MemoryviewSlice_dc_double</span>(__pyx_t_4, PyBUF_WRITABLE);<span class='error_goto'> if (unlikely(!__pyx_t_5.memview)) __PYX_ERR(0, 167, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  __pyx_v_arr = __pyx_t_5;\n",
       "  __pyx_t_5.memview = NULL;\n",
       "  __pyx_t_5.data = NULL;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">168</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">169</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span> <span class=\"nf\">d</span></pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">170</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">loops</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_t_6 = __pyx_v_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_loops;\n",
       "  __pyx_t_7 = __pyx_t_6;\n",
       "  for (__pyx_t_8 = 0; __pyx_t_8 &lt; __pyx_t_7; __pyx_t_8+=1) {\n",
       "    __pyx_v_i = __pyx_t_8;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">171</span>:         <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>    __pyx_t_9 = __pyx_v_L;\n",
       "    __pyx_t_10 = __pyx_t_9;\n",
       "    for (__pyx_t_11 = 0; __pyx_t_11 &lt; __pyx_t_10; __pyx_t_11+=1) {\n",
       "      __pyx_v_i = __pyx_t_11;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">172</span>:             <span class=\"n\">d</span> <span class=\"o\">=</span> <span class=\"n\">arr</span><span class=\"p\">[</span><span class=\"n\">i</span><span class=\"p\">]</span></pre>\n",
       "<pre class='cython code score-0 '>      __pyx_t_12 = __pyx_v_i;\n",
       "      __pyx_v_d = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_arr.data) + __pyx_t_12)) )));\n",
       "    }\n",
       "  }\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">173</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">174</span>:     <span class=\"c\"># Prevents dead-code elimination</span></pre>\n",
       "<pre class=\"cython line score-9\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">175</span>:     <span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">d</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-9 '>  __pyx_t_4 = <span class='py_c_api'>PyFloat_FromDouble</span>(__pyx_v_d);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 175, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 175, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">176</span>: </pre>\n",
       "<pre class=\"cython line score-58\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">177</span>: <span class=\"nd\">@timefunc</span><span class=\"p\">(</span><span class=\"s\">&quot;malloc&quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-58 '>/* Python wrapper */\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_25_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       "); /*proto*/\n",
       "static PyMethodDef __pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_25_ = {\"_\", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_25_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_25_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       ") {\n",
       "  int __pyx_v_L;\n",
       "  #if !CYTHON_METH_FASTCALL\n",
       "  CYTHON_UNUSED const Py_ssize_t __pyx_nargs = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);\n",
       "  #endif\n",
       "  CYTHON_UNUSED PyObject *const *__pyx_kwvalues = <span class='pyx_c_api'>__Pyx_KwValues_FASTCALL</span>(__pyx_args, __pyx_nargs);\n",
       "  PyObject *__pyx_r = 0;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_ (wrapper)\", 0);\n",
       "  {\n",
       "    PyObject **__pyx_pyargnames[] = {&amp;__pyx_n_s_L,0};\n",
       "    PyObject* values[1] = {0};\n",
       "    if (__pyx_kwds) {\n",
       "      Py_ssize_t kw_args;\n",
       "      switch (__pyx_nargs) {\n",
       "        case  1: values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "        CYTHON_FALLTHROUGH;\n",
       "        case  0: break;\n",
       "        default: goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      kw_args = <span class='pyx_c_api'>__Pyx_NumKwargs_FASTCALL</span>(__pyx_kwds);\n",
       "      switch (__pyx_nargs) {\n",
       "        case  0:\n",
       "        if (likely((values[0] = <span class='pyx_c_api'>__Pyx_GetKwValue_FASTCALL</span>(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_L)) != 0)) kw_args--;\n",
       "        else if (unlikely(<span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 177, __pyx_L3_error)</span>\n",
       "        else goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      if (unlikely(kw_args &gt; 0)) {\n",
       "        const Py_ssize_t kwd_pos_args = __pyx_nargs;\n",
       "        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, \"_\") &lt; 0)) <span class='error_goto'>__PYX_ERR(0, 177, __pyx_L3_error)</span>\n",
       "      }\n",
       "    } else if (unlikely(__pyx_nargs != 1)) {\n",
       "      goto __pyx_L5_argtuple_error;\n",
       "    } else {\n",
       "      values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "    }\n",
       "    __pyx_v_L = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[0]); if (unlikely((__pyx_v_L == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 178, __pyx_L3_error)</span>\n",
       "  }\n",
       "  goto __pyx_L4_argument_unpacking_done;\n",
       "  __pyx_L5_argtuple_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>(\"_\", 1, 1, 1, __pyx_nargs); <span class='error_goto'>__PYX_ERR(0, 177, __pyx_L3_error)</span>\n",
       "  __pyx_L3_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return NULL;\n",
       "  __pyx_L4_argument_unpacking_done:;\n",
       "  __pyx_r = __pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_24_(__pyx_self, __pyx_v_L);\n",
       "  int __pyx_lineno = 0;\n",
       "  const char *__pyx_filename = NULL;\n",
       "  int __pyx_clineno = 0;\n",
       "\n",
       "  /* function exit code */\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "\n",
       "static PyObject *__pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_24_(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_L) {\n",
       "  int __pyx_v_i;\n",
       "  double *__pyx_v_arrptr;\n",
       "  double __pyx_v_d;\n",
       "  PyObject *__pyx_r = NULL;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_\", 0);\n",
       "/* … */\n",
       "  /* function exit code */\n",
       "  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);\n",
       "  goto __pyx_L0;\n",
       "  __pyx_L1_error:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_8);\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  __pyx_r = NULL;\n",
       "  __pyx_L0:;\n",
       "  <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "/* … */\n",
       "  <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_4, __pyx_n_s_timefunc);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 177, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_4, __pyx_tuple__47, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 177, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "/* … */\n",
       "  __pyx_tuple__62 = <span class='py_c_api'>PyTuple_Pack</span>(4, __pyx_n_s_L, __pyx_n_s_i, __pyx_n_s_arrptr, __pyx_n_s_d);<span class='error_goto'> if (unlikely(!__pyx_tuple__62)) __PYX_ERR(0, 177, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__62);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__62);\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_CyFunction_New</span>(&amp;__pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_25_, 0, __pyx_n_s__40, NULL, __pyx_n_s_cython_magic_fdf74a4c94f4ab3f73, __pyx_d, ((PyObject *)__pyx_codeobj__63));<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 177, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_5, __pyx_t_4);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 177, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s__40, __pyx_t_7) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 177, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  __pyx_codeobj__63 = (PyObject*)<span class='pyx_c_api'>__Pyx_PyCode_New</span>(1, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__62, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_THEMATRIXNEO_ipython_cyt, __pyx_n_s__40, 177, __pyx_empty_bytes);<span class='error_goto'> if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 177, __pyx_L1_error)</span>\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">178</span>: <span class=\"k\">def</span> <span class=\"nf\">_</span><span class=\"p\">(</span><span class=\"nb\">int</span> <span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">179</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">i</span></pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">180</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span>* <span class=\"nf\">arrptr</span> <span class=\"o\">=</span> <span class=\"o\">&lt;</span><span class=\"n\">double</span><span class=\"o\">*&gt;</span> <span class=\"n\">malloc</span><span class=\"p\">(</span><span class=\"n\">sizeof</span><span class=\"p\">(</span><span class=\"n\">double</span><span class=\"p\">)</span> <span class=\"o\">*</span> <span class=\"n\">L</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_v_arrptr = ((double *)malloc(((sizeof(double)) * __pyx_v_L)));\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">181</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">182</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span> <span class=\"nf\">d</span></pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">183</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">loops</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_t_1 = __pyx_v_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_loops;\n",
       "  __pyx_t_2 = __pyx_t_1;\n",
       "  for (__pyx_t_3 = 0; __pyx_t_3 &lt; __pyx_t_2; __pyx_t_3+=1) {\n",
       "    __pyx_v_i = __pyx_t_3;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">184</span>:         <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>    __pyx_t_4 = __pyx_v_L;\n",
       "    __pyx_t_5 = __pyx_t_4;\n",
       "    for (__pyx_t_6 = 0; __pyx_t_6 &lt; __pyx_t_5; __pyx_t_6+=1) {\n",
       "      __pyx_v_i = __pyx_t_6;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">185</span>:             <span class=\"n\">d</span> <span class=\"o\">=</span> <span class=\"n\">arrptr</span><span class=\"p\">[</span><span class=\"n\">i</span><span class=\"p\">]</span></pre>\n",
       "<pre class='cython code score-0 '>      __pyx_v_d = (__pyx_v_arrptr[__pyx_v_i]);\n",
       "    }\n",
       "  }\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">186</span>: </pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">187</span>:     <span class=\"n\">free</span><span class=\"p\">(</span><span class=\"n\">arrptr</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-0 '>  free(__pyx_v_arrptr);\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">188</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">189</span>:     <span class=\"c\"># Prevents dead-code elimination</span></pre>\n",
       "<pre class=\"cython line score-9\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">190</span>:     <span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">d</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-9 '>  __pyx_t_7 = <span class='py_c_api'>PyFloat_FromDouble</span>(__pyx_v_d);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 190, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  __pyx_t_8 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 190, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_8);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_8); __pyx_t_8 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">191</span>: </pre>\n",
       "<pre class=\"cython line score-59\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">192</span>: <span class=\"nd\">@timefunc</span><span class=\"p\">(</span><span class=\"s\">&quot;malloc memoryview&quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-59 '>/* Python wrapper */\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_27_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       "); /*proto*/\n",
       "static PyMethodDef __pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_27_ = {\"_\", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_27_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_27_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       ") {\n",
       "  int __pyx_v_L;\n",
       "  #if !CYTHON_METH_FASTCALL\n",
       "  CYTHON_UNUSED const Py_ssize_t __pyx_nargs = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);\n",
       "  #endif\n",
       "  CYTHON_UNUSED PyObject *const *__pyx_kwvalues = <span class='pyx_c_api'>__Pyx_KwValues_FASTCALL</span>(__pyx_args, __pyx_nargs);\n",
       "  PyObject *__pyx_r = 0;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_ (wrapper)\", 0);\n",
       "  {\n",
       "    PyObject **__pyx_pyargnames[] = {&amp;__pyx_n_s_L,0};\n",
       "    PyObject* values[1] = {0};\n",
       "    if (__pyx_kwds) {\n",
       "      Py_ssize_t kw_args;\n",
       "      switch (__pyx_nargs) {\n",
       "        case  1: values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "        CYTHON_FALLTHROUGH;\n",
       "        case  0: break;\n",
       "        default: goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      kw_args = <span class='pyx_c_api'>__Pyx_NumKwargs_FASTCALL</span>(__pyx_kwds);\n",
       "      switch (__pyx_nargs) {\n",
       "        case  0:\n",
       "        if (likely((values[0] = <span class='pyx_c_api'>__Pyx_GetKwValue_FASTCALL</span>(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_L)) != 0)) kw_args--;\n",
       "        else if (unlikely(<span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 192, __pyx_L3_error)</span>\n",
       "        else goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      if (unlikely(kw_args &gt; 0)) {\n",
       "        const Py_ssize_t kwd_pos_args = __pyx_nargs;\n",
       "        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, \"_\") &lt; 0)) <span class='error_goto'>__PYX_ERR(0, 192, __pyx_L3_error)</span>\n",
       "      }\n",
       "    } else if (unlikely(__pyx_nargs != 1)) {\n",
       "      goto __pyx_L5_argtuple_error;\n",
       "    } else {\n",
       "      values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "    }\n",
       "    __pyx_v_L = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[0]); if (unlikely((__pyx_v_L == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 193, __pyx_L3_error)</span>\n",
       "  }\n",
       "  goto __pyx_L4_argument_unpacking_done;\n",
       "  __pyx_L5_argtuple_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>(\"_\", 1, 1, 1, __pyx_nargs); <span class='error_goto'>__PYX_ERR(0, 192, __pyx_L3_error)</span>\n",
       "  __pyx_L3_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return NULL;\n",
       "  __pyx_L4_argument_unpacking_done:;\n",
       "  __pyx_r = __pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_26_(__pyx_self, __pyx_v_L);\n",
       "  int __pyx_lineno = 0;\n",
       "  const char *__pyx_filename = NULL;\n",
       "  int __pyx_clineno = 0;\n",
       "\n",
       "  /* function exit code */\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "\n",
       "static PyObject *__pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_26_(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_L) {\n",
       "  int __pyx_v_i;\n",
       "  double *__pyx_v_arrptr;\n",
       "  __Pyx_memviewslice __pyx_v_arr = { 0, 0, { 0 }, { 0 }, { 0 } };\n",
       "  double __pyx_v_d;\n",
       "  PyObject *__pyx_r = NULL;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_\", 0);\n",
       "/* … */\n",
       "  /* function exit code */\n",
       "  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);\n",
       "  goto __pyx_L0;\n",
       "  __pyx_L1_error:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>((PyObject *)__pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3);\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_t_4, 1);\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  __pyx_r = NULL;\n",
       "  __pyx_L0:;\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_v_arr, 1);\n",
       "  <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "/* … */\n",
       "  <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_7, __pyx_n_s_timefunc);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 192, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_7, __pyx_tuple__50, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 192, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "/* … */\n",
       "  __pyx_tuple__64 = <span class='py_c_api'>PyTuple_Pack</span>(5, __pyx_n_s_L, __pyx_n_s_i, __pyx_n_s_arrptr, __pyx_n_s_arr, __pyx_n_s_d);<span class='error_goto'> if (unlikely(!__pyx_tuple__64)) __PYX_ERR(0, 192, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_tuple__64);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_tuple__64);\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_CyFunction_New</span>(&amp;__pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_27_, 0, __pyx_n_s__40, NULL, __pyx_n_s_cython_magic_fdf74a4c94f4ab3f73, __pyx_d, ((PyObject *)__pyx_codeobj__65));<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 192, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_4, __pyx_t_7);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 192, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s__40, __pyx_t_5) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 192, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "  __pyx_codeobj__65 = (PyObject*)<span class='pyx_c_api'>__Pyx_PyCode_New</span>(1, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__64, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_Users_THEMATRIXNEO_ipython_cyt, __pyx_n_s__40, 192, __pyx_empty_bytes);<span class='error_goto'> if (unlikely(!__pyx_codeobj__65)) __PYX_ERR(0, 192, __pyx_L1_error)</span>\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">193</span>: <span class=\"k\">def</span> <span class=\"nf\">_</span><span class=\"p\">(</span><span class=\"nb\">int</span> <span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">194</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">i</span></pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">195</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span>* <span class=\"nf\">arrptr</span> <span class=\"o\">=</span> <span class=\"o\">&lt;</span><span class=\"n\">double</span><span class=\"o\">*&gt;</span> <span class=\"n\">malloc</span><span class=\"p\">(</span><span class=\"n\">sizeof</span><span class=\"p\">(</span><span class=\"n\">double</span><span class=\"p\">)</span> <span class=\"o\">*</span> <span class=\"n\">L</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_v_arrptr = ((double *)malloc(((sizeof(double)) * __pyx_v_L)));\n",
       "</pre><pre class=\"cython line score-11\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">196</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span>[<span class=\"p\">::</span><span class=\"mf\">1</span><span class=\"p\">]</span> <span class=\"n\">arr</span> <span class=\"o\">=</span> <span class=\"o\">&lt;</span><span class=\"n\">double</span><span class=\"p\">[:</span><span class=\"n\">L</span><span class=\"p\">]</span><span class=\"o\">&gt;</span><span class=\"n\">arrptr</span></pre>\n",
       "<pre class='cython code score-11 '>  if (!__pyx_v_arrptr) {\n",
       "    <span class='py_c_api'>PyErr_SetString</span>(PyExc_ValueError,\"Cannot create cython.array from NULL pointer\");\n",
       "    <span class='error_goto'>__PYX_ERR(0, 196, __pyx_L1_error)</span>\n",
       "  }\n",
       "  __pyx_t_3 = __pyx_format_from_typeinfo(&amp;__Pyx_TypeInfo_double);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 196, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3);\n",
       "  __pyx_t_2 = Py_BuildValue((char*) \"(\"  __PYX_BUILD_PY_SSIZE_T  \")\", ((Py_ssize_t)__pyx_v_L));<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 196, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);\n",
       "  __pyx_t_1 = __pyx_array_new(__pyx_t_2, sizeof(double), <span class='py_macro_api'>PyBytes_AS_STRING</span>(__pyx_t_3), (char *) \"c\", (char *) __pyx_v_arrptr);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 196, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>((PyObject *)__pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_to_MemoryviewSlice_dc_double</span>(((PyObject *)__pyx_t_1), PyBUF_WRITABLE);<span class='error_goto'> if (unlikely(!__pyx_t_4.memview)) __PYX_ERR(0, 196, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>((PyObject *)__pyx_t_1); __pyx_t_1 = 0;\n",
       "  __pyx_v_arr = __pyx_t_4;\n",
       "  __pyx_t_4.memview = NULL;\n",
       "  __pyx_t_4.data = NULL;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">197</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">198</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span> <span class=\"nf\">d</span></pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">199</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">loops</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_t_5 = __pyx_v_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_loops;\n",
       "  __pyx_t_6 = __pyx_t_5;\n",
       "  for (__pyx_t_7 = 0; __pyx_t_7 &lt; __pyx_t_6; __pyx_t_7+=1) {\n",
       "    __pyx_v_i = __pyx_t_7;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">200</span>:         <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>    __pyx_t_8 = __pyx_v_L;\n",
       "    __pyx_t_9 = __pyx_t_8;\n",
       "    for (__pyx_t_10 = 0; __pyx_t_10 &lt; __pyx_t_9; __pyx_t_10+=1) {\n",
       "      __pyx_v_i = __pyx_t_10;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">201</span>:             <span class=\"n\">d</span> <span class=\"o\">=</span> <span class=\"n\">arr</span><span class=\"p\">[</span><span class=\"n\">i</span><span class=\"p\">]</span></pre>\n",
       "<pre class='cython code score-0 '>      __pyx_t_11 = __pyx_v_i;\n",
       "      __pyx_v_d = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_arr.data) + __pyx_t_11)) )));\n",
       "    }\n",
       "  }\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">202</span>: </pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">203</span>:     <span class=\"n\">free</span><span class=\"p\">(</span><span class=\"n\">arrptr</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-0 '>  free(__pyx_v_arrptr);\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">204</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">205</span>:     <span class=\"c\"># Prevents dead-code elimination</span></pre>\n",
       "<pre class=\"cython line score-9\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">206</span>:     <span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">d</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-9 '>  __pyx_t_3 = <span class='py_c_api'>PyFloat_FromDouble</span>(__pyx_v_d);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 206, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3);\n",
       "  __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_3);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 206, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">207</span>: </pre>\n",
       "<pre class=\"cython line score-52\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">208</span>: <span class=\"nd\">@timefunc</span><span class=\"p\">(</span><span class=\"s\">&quot;cvarray memoryview&quot;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-52 '>/* Python wrapper */\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_29_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       "); /*proto*/\n",
       "static PyMethodDef __pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_29_ = {\"_\", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_29_, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};\n",
       "static PyObject *__pyx_pw_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_29_(PyObject *__pyx_self, \n",
       "#if CYTHON_METH_FASTCALL\n",
       "PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds\n",
       "#else\n",
       "PyObject *__pyx_args, PyObject *__pyx_kwds\n",
       "#endif\n",
       ") {\n",
       "  int __pyx_v_L;\n",
       "  #if !CYTHON_METH_FASTCALL\n",
       "  CYTHON_UNUSED const Py_ssize_t __pyx_nargs = <span class='py_macro_api'>PyTuple_GET_SIZE</span>(__pyx_args);\n",
       "  #endif\n",
       "  CYTHON_UNUSED PyObject *const *__pyx_kwvalues = <span class='pyx_c_api'>__Pyx_KwValues_FASTCALL</span>(__pyx_args, __pyx_nargs);\n",
       "  PyObject *__pyx_r = 0;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_ (wrapper)\", 0);\n",
       "  {\n",
       "    PyObject **__pyx_pyargnames[] = {&amp;__pyx_n_s_L,0};\n",
       "    PyObject* values[1] = {0};\n",
       "    if (__pyx_kwds) {\n",
       "      Py_ssize_t kw_args;\n",
       "      switch (__pyx_nargs) {\n",
       "        case  1: values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "        CYTHON_FALLTHROUGH;\n",
       "        case  0: break;\n",
       "        default: goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      kw_args = <span class='pyx_c_api'>__Pyx_NumKwargs_FASTCALL</span>(__pyx_kwds);\n",
       "      switch (__pyx_nargs) {\n",
       "        case  0:\n",
       "        if (likely((values[0] = <span class='pyx_c_api'>__Pyx_GetKwValue_FASTCALL</span>(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_L)) != 0)) kw_args--;\n",
       "        else if (unlikely(<span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 208, __pyx_L3_error)</span>\n",
       "        else goto __pyx_L5_argtuple_error;\n",
       "      }\n",
       "      if (unlikely(kw_args &gt; 0)) {\n",
       "        const Py_ssize_t kwd_pos_args = __pyx_nargs;\n",
       "        if (unlikely(<span class='pyx_c_api'>__Pyx_ParseOptionalKeywords</span>(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, \"_\") &lt; 0)) <span class='error_goto'>__PYX_ERR(0, 208, __pyx_L3_error)</span>\n",
       "      }\n",
       "    } else if (unlikely(__pyx_nargs != 1)) {\n",
       "      goto __pyx_L5_argtuple_error;\n",
       "    } else {\n",
       "      values[0] = <span class='pyx_c_api'>__Pyx_Arg_FASTCALL</span>(__pyx_args, 0);\n",
       "    }\n",
       "    __pyx_v_L = <span class='pyx_c_api'>__Pyx_PyInt_As_int</span>(values[0]); if (unlikely((__pyx_v_L == (int)-1) &amp;&amp; <span class='py_c_api'>PyErr_Occurred</span>())) <span class='error_goto'>__PYX_ERR(0, 209, __pyx_L3_error)</span>\n",
       "  }\n",
       "  goto __pyx_L4_argument_unpacking_done;\n",
       "  __pyx_L5_argtuple_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_RaiseArgtupleInvalid</span>(\"_\", 1, 1, 1, __pyx_nargs); <span class='error_goto'>__PYX_ERR(0, 208, __pyx_L3_error)</span>\n",
       "  __pyx_L3_error:;\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return NULL;\n",
       "  __pyx_L4_argument_unpacking_done:;\n",
       "  __pyx_r = __pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_28_(__pyx_self, __pyx_v_L);\n",
       "  int __pyx_lineno = 0;\n",
       "  const char *__pyx_filename = NULL;\n",
       "  int __pyx_clineno = 0;\n",
       "\n",
       "  /* function exit code */\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "\n",
       "static PyObject *__pyx_pf_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_28_(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_L) {\n",
       "  int __pyx_v_i;\n",
       "  __Pyx_memviewslice __pyx_v_arr = { 0, 0, { 0 }, { 0 }, { 0 } };\n",
       "  double __pyx_v_d;\n",
       "  PyObject *__pyx_r = NULL;\n",
       "  <span class='refnanny'>__Pyx_RefNannyDeclarations</span>\n",
       "  <span class='refnanny'>__Pyx_RefNannySetupContext</span>(\"_\", 0);\n",
       "/* … */\n",
       "  /* function exit code */\n",
       "  __pyx_r = Py_None; <span class='pyx_macro_api'>__Pyx_INCREF</span>(Py_None);\n",
       "  goto __pyx_L0;\n",
       "  __pyx_L1_error:;\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2);\n",
       "  <span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3);\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_t_4, 1);\n",
       "  <span class='pyx_c_api'>__Pyx_AddTraceback</span>(\"_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c._\", __pyx_clineno, __pyx_lineno, __pyx_filename);\n",
       "  __pyx_r = NULL;\n",
       "  __pyx_L0:;\n",
       "  __PYX_XCLEAR_MEMVIEW(&amp;__pyx_v_arr, 1);\n",
       "  <span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_r);\n",
       "  <span class='refnanny'>__Pyx_RefNannyFinishContext</span>();\n",
       "  return __pyx_r;\n",
       "}\n",
       "/* … */\n",
       "  <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_5, __pyx_n_s_timefunc);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 208, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  __pyx_t_7 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_5, __pyx_tuple__53, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 208, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "  __pyx_t_5 = <span class='pyx_c_api'>__Pyx_CyFunction_New</span>(&amp;__pyx_mdef_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_29_, 0, __pyx_n_s__40, NULL, __pyx_n_s_cython_magic_fdf74a4c94f4ab3f73, __pyx_d, ((PyObject *)__pyx_codeobj__66));<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 208, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_7, __pyx_t_5);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 208, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;\n",
       "  if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s__40, __pyx_t_4) &lt; 0) <span class='error_goto'>__PYX_ERR(0, 208, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">209</span>: <span class=\"k\">def</span> <span class=\"nf\">_</span><span class=\"p\">(</span><span class=\"nb\">int</span> <span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">210</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">int</span> <span class=\"nf\">i</span></pre>\n",
       "<pre class=\"cython line score-25\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">211</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span>[<span class=\"p\">::</span><span class=\"mf\">1</span><span class=\"p\">]</span> <span class=\"n\">arr</span> <span class=\"o\">=</span> <span class=\"n\">cvarray</span><span class=\"p\">((</span><span class=\"n\">L</span><span class=\"p\">,),</span><span class=\"n\">sizeof</span><span class=\"p\">(</span><span class=\"n\">double</span><span class=\"p\">),</span><span class=\"s\">&#39;d&#39;</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-25 '>  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_L);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  __pyx_t_2 = <span class='py_c_api'>PyTuple_New</span>(1);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 211, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1);\n",
       "  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_2, 0, __pyx_t_1);\n",
       "  __pyx_t_1 = 0;\n",
       "  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyInt_FromSize_t</span>((sizeof(double)));<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  __pyx_t_3 = <span class='py_c_api'>PyTuple_New</span>(3);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 211, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_2);\n",
       "  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 0, __pyx_t_2);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1);\n",
       "  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 1, __pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_n_u_d);\n",
       "  <span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_n_u_d);\n",
       "  <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_3, 2, __pyx_n_u_d);\n",
       "  __pyx_t_2 = 0;\n",
       "  __pyx_t_1 = 0;\n",
       "  __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(((PyObject *)__pyx_array_type), __pyx_t_3, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 211, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;\n",
       "  __pyx_t_4 = <span class='pyx_c_api'>__Pyx_PyObject_to_MemoryviewSlice_dc_double</span>(__pyx_t_1, PyBUF_WRITABLE);<span class='error_goto'> if (unlikely(!__pyx_t_4.memview)) __PYX_ERR(0, 211, __pyx_L1_error)</span>\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "  __pyx_v_arr = __pyx_t_4;\n",
       "  __pyx_t_4.memview = NULL;\n",
       "  __pyx_t_4.data = NULL;\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">212</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">213</span>:     <span class=\"k\">cdef</span> <span class=\"kt\">double</span> <span class=\"nf\">d</span></pre>\n",
       "<pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">214</span>:     <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">loops</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>  __pyx_t_5 = __pyx_v_54_cython_magic_fdf74a4c94f4ab3f73cfe617fa5fc1ad8e8c6a1c_loops;\n",
       "  __pyx_t_6 = __pyx_t_5;\n",
       "  for (__pyx_t_7 = 0; __pyx_t_7 &lt; __pyx_t_6; __pyx_t_7+=1) {\n",
       "    __pyx_v_i = __pyx_t_7;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">215</span>:         <span class=\"k\">for</span> <span class=\"n\">i</span> <span class=\"ow\">in</span> <span class=\"nb\">range</span><span class=\"p\">(</span><span class=\"n\">L</span><span class=\"p\">):</span></pre>\n",
       "<pre class='cython code score-0 '>    __pyx_t_8 = __pyx_v_L;\n",
       "    __pyx_t_9 = __pyx_t_8;\n",
       "    for (__pyx_t_10 = 0; __pyx_t_10 &lt; __pyx_t_9; __pyx_t_10+=1) {\n",
       "      __pyx_v_i = __pyx_t_10;\n",
       "</pre><pre class=\"cython line score-0\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">216</span>:             <span class=\"n\">d</span> <span class=\"o\">=</span> <span class=\"n\">arr</span><span class=\"p\">[</span><span class=\"n\">i</span><span class=\"p\">]</span></pre>\n",
       "<pre class='cython code score-0 '>      __pyx_t_11 = __pyx_v_i;\n",
       "      __pyx_v_d = (*((double *) ( /* dim=0 */ ((char *) (((double *) __pyx_v_arr.data) + __pyx_t_11)) )));\n",
       "    }\n",
       "  }\n",
       "</pre><pre class=\"cython line score-0\">&#xA0;<span class=\"\">217</span>: </pre>\n",
       "<pre class=\"cython line score-0\">&#xA0;<span class=\"\">218</span>:     <span class=\"c\"># Prevents dead-code elimination</span></pre>\n",
       "<pre class=\"cython line score-9\" onclick=\"(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)\">+<span class=\"\">219</span>:     <span class=\"nb\">str</span><span class=\"p\">(</span><span class=\"n\">d</span><span class=\"p\">)</span></pre>\n",
       "<pre class='cython code score-9 '>  __pyx_t_1 = <span class='py_c_api'>PyFloat_FromDouble</span>(__pyx_v_d);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 219, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);\n",
       "  __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyObject_Str</span>(__pyx_t_1);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 219, __pyx_L1_error)</span>\n",
       "  <span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3);\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;\n",
       "  <span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;\n",
       "</pre></div></body></html>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "%%cython --annotate\n",
    "\n",
    "# cython: language_level=3\n",
    "# cython: boundscheck=False\n",
    "# cython: wraparound=False\n",
    "\n",
    "import time\n",
    "import sys\n",
    "\n",
    "from cpython.array cimport array, clone\n",
    "from cython.view cimport array as cvarray\n",
    "from libc.stdlib cimport malloc, free\n",
    "import numpy as numpy\n",
    "cimport numpy as numpy\n",
    "\n",
    "cdef int loops\n",
    "\n",
    "def timefunc(name):\n",
    "    def timedecorator(f):\n",
    "        cdef int L, i\n",
    "\n",
    "        print(\"Running\", name)\n",
    "        for L in [1, 10, 100, 1000, 10000, 100000]:\n",
    "            start = time.process_time()\n",
    "            f(L)\n",
    "            end = time.process_time()\n",
    "            print(format((end-start) / loops * 1e6, \"2f\"), end=\" \")\n",
    "            sys.stdout.flush()\n",
    "\n",
    "        print(\"μs\")\n",
    "    return timedecorator\n",
    "\n",
    "print()\n",
    "print(\"INITIALISATIONS\")\n",
    "loops = 100000\n",
    "\n",
    "@timefunc(\"cpython.array buffer\")\n",
    "def _(int L):\n",
    "    cdef int i\n",
    "    cdef array[double] arr, template = array('d')\n",
    "\n",
    "    for i in range(loops):\n",
    "        arr = clone(template, L, False)\n",
    "\n",
    "    # Prevents dead code elimination\n",
    "    str(arr[0])\n",
    "\n",
    "@timefunc(\"cpython.array memoryview\")\n",
    "def _(int L):\n",
    "    cdef int i\n",
    "    cdef double[::1] arr\n",
    "    cdef array template = array('d')\n",
    "\n",
    "    for i in range(loops):\n",
    "        arr = clone(template, L, False)\n",
    "\n",
    "    # Prevents dead code elimination\n",
    "    str(arr[0])\n",
    "\n",
    "@timefunc(\"cpython.array raw C type\")\n",
    "def _(int L):\n",
    "    cdef int i\n",
    "    cdef array arr, template = array('d')\n",
    "\n",
    "    for i in range(loops):\n",
    "        arr = clone(template, L, False)\n",
    "\n",
    "    # Prevents dead code elimination\n",
    "    str(arr[0])\n",
    "\n",
    "@timefunc(\"numpy.empty_like memoryview\")\n",
    "def _(int L):\n",
    "    cdef int i\n",
    "    cdef double[::1] arr\n",
    "    template = numpy.empty((L,), dtype='double')\n",
    "\n",
    "    for i in range(loops):\n",
    "        arr = numpy.empty_like(template)\n",
    "\n",
    "    # Prevents dead code elimination\n",
    "    str(arr[0])\n",
    "\n",
    "@timefunc(\"malloc\")\n",
    "def _(int L):\n",
    "    cdef int i\n",
    "    cdef double* arrptr\n",
    "\n",
    "    for i in range(loops):\n",
    "        arrptr = <double*> malloc(sizeof(double) * L)\n",
    "        free(arrptr)\n",
    "\n",
    "    # Prevents dead code elimination\n",
    "    str(arrptr[0])\n",
    "\n",
    "@timefunc(\"malloc memoryview\")\n",
    "def _(int L):\n",
    "    cdef int i\n",
    "    cdef double* arrptr\n",
    "    cdef double[::1] arr\n",
    "\n",
    "    for i in range(loops):\n",
    "        arrptr = <double*> malloc(sizeof(double) * L)\n",
    "        arr = <double[:L]>arrptr\n",
    "        free(arrptr)\n",
    "\n",
    "    # Prevents dead code elimination\n",
    "    str(arr[0])\n",
    "\n",
    "@timefunc(\"cvarray memoryview\")\n",
    "def _(int L):\n",
    "    cdef int i\n",
    "    cdef double[::1] arr\n",
    "\n",
    "    for i in range(loops):\n",
    "        arr = cvarray((L,),sizeof(double),'d')\n",
    "\n",
    "    # Prevents dead code elimination\n",
    "    str(arr[0])\n",
    "\n",
    "\n",
    "\n",
    "print()\n",
    "print(\"ITERATING\")\n",
    "loops = 1000\n",
    "\n",
    "@timefunc(\"cpython.array buffer\")\n",
    "def _(int L):\n",
    "    cdef int i\n",
    "    cdef array[double] arr = clone(array('d'), L, False)\n",
    "\n",
    "    cdef double d\n",
    "    for i in range(loops):\n",
    "        for i in range(L):\n",
    "            d = arr[i]\n",
    "\n",
    "    # Prevents dead-code elimination\n",
    "    str(d)\n",
    "\n",
    "@timefunc(\"cpython.array memoryview\")\n",
    "def _(int L):\n",
    "    cdef int i\n",
    "    cdef double[::1] arr = clone(array('d'), L, False)\n",
    "\n",
    "    cdef double d\n",
    "    for i in range(loops):\n",
    "        for i in range(L):\n",
    "            d = arr[i]\n",
    "\n",
    "    # Prevents dead-code elimination\n",
    "    str(d)\n",
    "\n",
    "@timefunc(\"cpython.array raw C type\")\n",
    "def _(int L):\n",
    "    cdef int i\n",
    "    cdef array arr = clone(array('d'), L, False)\n",
    "\n",
    "    cdef double d\n",
    "    for i in range(loops):\n",
    "        for i in range(L):\n",
    "            d = arr[i]\n",
    "\n",
    "    # Prevents dead-code elimination\n",
    "    str(d)\n",
    "\n",
    "@timefunc(\"numpy.empty_like memoryview\")\n",
    "def _(int L):\n",
    "    cdef int i\n",
    "    cdef double[::1] arr = numpy.empty((L,), dtype='double')\n",
    "\n",
    "    cdef double d\n",
    "    for i in range(loops):\n",
    "        for i in range(L):\n",
    "            d = arr[i]\n",
    "\n",
    "    # Prevents dead-code elimination\n",
    "    str(d)\n",
    "\n",
    "@timefunc(\"malloc\")\n",
    "def _(int L):\n",
    "    cdef int i\n",
    "    cdef double* arrptr = <double*> malloc(sizeof(double) * L)\n",
    "\n",
    "    cdef double d\n",
    "    for i in range(loops):\n",
    "        for i in range(L):\n",
    "            d = arrptr[i]\n",
    "\n",
    "    free(arrptr)\n",
    "\n",
    "    # Prevents dead-code elimination\n",
    "    str(d)\n",
    "\n",
    "@timefunc(\"malloc memoryview\")\n",
    "def _(int L):\n",
    "    cdef int i\n",
    "    cdef double* arrptr = <double*> malloc(sizeof(double) * L)\n",
    "    cdef double[::1] arr = <double[:L]>arrptr\n",
    "\n",
    "    cdef double d\n",
    "    for i in range(loops):\n",
    "        for i in range(L):\n",
    "            d = arr[i]\n",
    "\n",
    "    free(arrptr)\n",
    "\n",
    "    # Prevents dead-code elimination\n",
    "    str(d)\n",
    "\n",
    "@timefunc(\"cvarray memoryview\")\n",
    "def _(int L):\n",
    "    cdef int i\n",
    "    cdef double[::1] arr = cvarray((L,),sizeof(double),'d')\n",
    "\n",
    "    cdef double d\n",
    "    for i in range(loops):\n",
    "        for i in range(L):\n",
    "            d = arr[i]\n",
    "\n",
    "    # Prevents dead-code elimination\n",
    "    str(d)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "83e96cab",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
